Plugin Directory

Changeset 1587657


Ignore:
Timestamp:
02/02/2017 08:33:13 PM (9 years ago)
Author:
paulq
Message:

ChatweeV2_SDK update

Location:
chatwee/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • chatwee/trunk/chatwee-admin.php

    r1564521 r1587657  
    1111            save_sso_settings();
    1212        }
    13     }
     13        if(isSet($_POST["chatwee_display_properties_submit"])) {
     14            save_display_properties_settings();
     15        }
     16
     17    }
     18
     19
     20    function save_display_properties_settings() {
     21        $chatwee_settings = get_option("chatwee_settings");
     22
     23        $chatwee_settings["pages_and_posts_to_display"] = $_POST["pages_and_posts_to_display"];
     24        $chatwee_settings["categories_to_display"] = $_POST["categories_to_display"];
     25
     26        update_option("chatwee_settings", $chatwee_settings);
     27    }
     28
     29
    1430
    1531    function save_general_settings() {
     
    1935        $chatwee_settings["chatwee_script"] = $_POST["chatwee_script"];
    2036        $chatwee_settings["disable_offline_users"] = isSet($_POST["disable_offline_users"]) ? true : false;
    21         $chatwee_settings["display_properties"] = $_POST["display_properties"];
    2237
    2338        update_option("chatwee_settings", $chatwee_settings);
     
    89104                    <div class="nav-tab-wrapper">
    90105                        <label class="nav-tab tab-switch" data-tab-key="general">General settings</label>
     106                        <label class="nav-tab tab-switch" data-tab-key="display_properties">Display properties</label>
    91107                        <label class="nav-tab tab-switch" data-tab-key="sso">Single Sign-On</label>
    92108                        <label class="nav-tab tab-switch" data-tab-key="moderators">Moderators</label>
     
    128144                                    </tr>
    129145                                    <tr>
    130                                         <th>
    131                                             <label>Display on the following page categories</label>
     146                                        <th></th>
     147                                        <td>
     148                                            <input type="submit" name="chatwee_general_submit" class="button-primary" value="Save changes" />
     149                                        </td>
     150                                    </tr>
     151                                </table>
     152                            </form>
     153                        </div>
     154                    </div>
     155
     156                    <div class="chatwee-options-section" data-tab-key="display_properties">
     157                        <div class="chatwee-options-section-content">
     158                            <form method="post">
     159                                <p class="chatwee-option-info">This section allows you to determine the page categories, where you want to display the chat. You may also choose to display the chat on particular pages and posts.</p>
     160                                <table class="form-table chatwee-options-table">
     161                                    <tr>
     162                                        <th>
     163                                            <label>Display on the following page categories:</label>
    132164                                        </th>
    133165                                        <td>
    134166                                            <div class="chatwee-option-wrapper">
    135                                                 <input type="checkbox" id="display_properties_main_page" name="display_properties[]" value="main_page" <?php if (is_array($chatwee_settings["display_properties"]) && in_array("main_page", $chatwee_settings["display_properties"])) echo "checked"; ?> />
    136                                                 <label for="display_properties_main_page">Main page</label>
     167                                                <input type="checkbox" id="display_categories_main_page" name="categories_to_display[]" value="main_page" <?php if (is_array($chatwee_settings["categories_to_display"]) && in_array("main_page", $chatwee_settings["categories_to_display"])) echo "checked"; ?> />
     168                                                <label for="display_categories_main_page">Main page</label>
    137169                                            </div>
    138170                                            <div class="chatwee-option-wrapper">
    139                                                 <input type="checkbox" id="display_properties_search_page" name="display_properties[]" value="search_page" <?php if (is_array($chatwee_settings["display_properties"]) && in_array("search_page", $chatwee_settings["display_properties"])) echo "checked"; ?> />
    140                                                 <label for="display_properties_search_page">Search page</label>
     171                                                <input type="checkbox" id="display_categories_search_page" name="categories_to_display[]" value="search_page" <?php if (is_array($chatwee_settings["categories_to_display"]) && in_array("search_page", $chatwee_settings["categories_to_display"])) echo "checked"; ?> />
     172                                                <label for="display_categories_search_page">Search page</label>
    141173                                            </div>
    142174                                            <div class="chatwee-option-wrapper">
    143                                                 <input type="checkbox" id="display_properties_archive_page" name="display_properties[]" value="archive_page" <?php if (is_array($chatwee_settings["display_properties"]) && in_array("archive_page", $chatwee_settings["display_properties"])) echo "checked"; ?> />
    144                                                 <label for="display_properties_archive_page">Archive page</label>
     175                                                <input type="checkbox" id="display_categories_archive_page" name="categories_to_display[]" value="archive_page" <?php if (is_array($chatwee_settings["categories_to_display"]) && in_array("archive_page", $chatwee_settings["categories_to_display"])) echo "checked"; ?> />
     176                                                <label for="display_categories_archive_page">Archive page</label>
    145177                                            </div>
    146178                                            <div class="chatwee-option-wrapper">
    147                                                 <input type="checkbox" id="display_properties_post_page" name="display_properties[]" value="post_page" <?php if (is_array($chatwee_settings["display_properties"]) && in_array("post_page", $chatwee_settings["display_properties"])) echo "checked"; ?> />
    148                                                 <label for="display_properties_post_page">Post page</label>
     179                                                <input type="checkbox" id="display_categories_post_page" name="categories_to_display[]" value="post_page" <?php if (is_array($chatwee_settings["categories_to_display"]) && in_array("post_page", $chatwee_settings["categories_to_display"])) echo "checked"; ?> />
     180                                                <label for="display_categories_post_page">Post page</label>
    149181                                            </div>
    150182                                            <div class="chatwee-option-wrapper">
    151                                                 <input type="checkbox" id="display_properties_single_page" name="display_properties[]" value="single_page" <?php if (is_array($chatwee_settings["display_properties"]) && in_array("single_page", $chatwee_settings["display_properties"])) echo "checked"; ?> />
    152                                                 <label for="display_properties_single_page">Single page</label>
     183                                                <input type="checkbox" id="display_categories_single_page" name="categories_to_display[]" value="single_page" <?php if (is_array($chatwee_settings["categories_to_display"]) && in_array("single_page", $chatwee_settings["categories_to_display"])) echo "checked"; ?> />
     184                                                <label for="display_categories_single_page">Single page</label>
    153185                                            </div>
    154                                             <p class="chatwee-option-info">This section allows you to determine the page categories, where you want to display the chat.</p>
     186                                        </td>
     187                                    </tr>
     188                                    <tr>
     189                                        <th>
     190                                            <label for="enable_sso">Display on the following pages:</label>
     191                                        </th>
     192                                        <td>
     193                                            <?php
     194                                                $pages = get_pages();
     195                                                if ($pages) {
     196                                                    foreach($pages as $page) {
     197                                                        $checkedClause = is_array($chatwee_settings["pages_and_posts_to_display"]) && in_array($page->ID, $chatwee_settings["pages_and_posts_to_display"]) ? "checked" : "";
     198                                                        $page_link = get_page_link($page->ID);
     199                                                        $page_date = get_the_date(null, $page->ID);
     200                                                        echo "<div class='chatwee-option-wrapper'>";
     201                                                        echo "<input type='checkbox' value='$page->ID' name='pages_and_posts_to_display[]' id='page_ID_$page->ID' $checkedClause/>";
     202                                                        if (!$page->post_title) {
     203                                                            echo "<a href='$page_link' target='_blank'>#$page->ID (no title)</a>";
     204                                                            echo " - published on $page_date";
     205                                                        } else {
     206                                                            echo "<a href='$page_link' target='_blank'>$page->post_title</a>";
     207                                                            echo " - published on $page_date";
     208                                                        }
     209                                                        echo "</div>";
     210                                                    }
     211                                                } else {
     212                                                    echo "<p class='chatwee-option-info'>You don't have any pages published yet.</>";
     213                                                }
     214                                            ?>
     215                                        </td>
     216                                    </tr>
     217                                    <tr>
     218                                        <th>
     219                                            <label for="enable_sso">Display on the following posts:</label>
     220                                        </th>
     221                                        <td>
     222                                            <?php
     223                                                $posts = get_posts();
     224                                                if ($posts) {
     225                                                    foreach($posts as $post) {
     226                                                        $checkedClause = is_array($chatwee_settings["pages_and_posts_to_display"]) && in_array($post->ID, $chatwee_settings["pages_and_posts_to_display"]) ? "checked" : "";
     227                                                        $post_link = get_page_link($post->ID);
     228                                                        $post_date = get_the_date(null, $post->ID);
     229                                                        echo "<div class='chatwee-option-wrapper'>";
     230                                                        echo "<input type='checkbox' value='$post->ID' name='pages_and_posts_to_display[]' id='post_ID_$post->ID' $checkedClause/>";
     231                                                        if (!$post->post_title) {
     232                                                            echo "<a href='$post_link' target='_blank'>#$post->ID (no title)</a>";
     233                                                            echo " - published on $post_date";
     234                                                        } else {
     235                                                            echo "<a href='$post_link' target='_blank'>$post->post_title</a>";
     236                                                            echo " - published on $post_date";
     237                                                        }
     238                                                        echo "</div>";
     239                                                    }
     240                                                } else {
     241                                                    echo "<p class='chatwee-option-info'>You don't have any posts published yet.</>";
     242                                                }
     243                                            ?>
    155244                                        </td>
    156245                                    </tr>
     
    158247                                        <th></th>
    159248                                        <td>
    160                                             <input type="submit" name="chatwee_general_submit" class="button-primary" value="Save changes" />
     249                                            <input type="submit" name="chatwee_display_properties_submit" class="button-primary" value="Save changes" />
    161250                                        </td>
    162251                                    </tr>
     
    288377                </div>
    289378
     379
     380
    290381                <div class="chatwee-content-box chatwee-side-box">
    291382                    <h2>How to get Chatwee installation code?</h2>
  • chatwee/trunk/chatwee.php

    r1564521 r1587657  
    4040            "chatwee_script" => "",
    4141            "disable_offline_users" => false,
    42             "display_properties" => ["main_page", "search_page", "archive_page", "post_page", "single_page"],
     42            "categories_to_display" => ["main_page", "search_page", "archive_page", "post_page", "single_page"],
     43            "pages_and_posts_to_display" => [],  //contains IDs of user-selected pages and posts
    4344            "enable_sso" => false,
    4445            "chat_id" => "",
     
    7576        $chatwee_settings = get_option("chatwee_settings");
    7677
    77         $display_properties = $chatwee_settings["display_properties"];
    78 
    79         $main_page_matched = in_array("main_page", $display_properties) && is_home() === true;
    80         $search_page_matched = in_array("search_page", $display_properties) && is_search() === true;
    81         $archive_page_matched = in_array("archive_page", $display_properties) && is_archive() === true;
    82         $post_page_matched = in_array("post_page", $display_properties) && is_page() === true;
    83         $single_page_matched = in_array("single_page", $display_properties) && is_single() === true;
    84 
    85         return $main_page_matched || $search_page_matched || $archive_page_matched || $post_page_matched || $single_page_matched;
     78        $id = get_the_ID();
     79
     80        $categories_to_display = $chatwee_settings["categories_to_display"];
     81        $pages_and_posts_to_display = $chatwee_settings["pages_and_posts_to_display"];
     82
     83
     84        $main_page_matched = is_array($categories_to_display) && in_array("main_page", $categories_to_display) && is_home() === true;
     85        $search_page_matched = is_array($categories_to_display) && in_array("search_page", $categories_to_display) && is_search() === true;
     86        $archive_page_matched = is_array($categories_to_display) && in_array("archive_page", $categories_to_display) && is_archive() === true;
     87        $post_page_matched = is_array($categories_to_display) && in_array("post_page", $categories_to_display) && is_single() === true;
     88        $single_page_matched = is_array($categories_to_display) && in_array("single_page", $categories_to_display) && is_page() === true;
     89
     90        $page_or_post_matched = is_array($pages_and_posts_to_display) && in_array($id, $pages_and_posts_to_display) && is_singular() === true;
     91
     92        return $main_page_matched || $search_page_matched || $archive_page_matched || $post_page_matched || $single_page_matched || $page_or_post_matched;
    8693    }
    8794
     
    162169
    163170        $wpdb->insert($table_name, Array("log_message" => $message));
    164 
    165         echo json_encode(true);
    166171    }
    167172
  • chatwee/trunk/lib/ChatweeV2_SDK/Chatwee/SsoManager.php

    r1564521 r1587657  
    1010        $userId = ChatweeV2_SsoUser::register(Array(
    1111            "login" => $parameters["login"],
     12            "isAdmin" => isSet($parameters["isAdmin"]) === true ? $parameters["isAdmin"] : false,
    1213            "avatar" => isSet($parameters["avatar"]) === true ? $parameters["avatar"] : ""
    1314        ));
     
    5455        }
    5556
    56         ChatweeV2_SsoUser::edit(Array(
     57        $editParameters = Array(
    5758            "userId" => $parameters["userId"],
    5859            "login" => $parameters["login"],
    5960            "avatar" => isSet($parameters["avatar"]) === true ? $parameters["avatar"] : ""
    60         ));
     61        );
     62
     63        if(isSet($parameters["isAdmin"]) === true) {
     64            $editParameters["isAdmin"] = $parameters["isAdmin"];
     65        }
     66
     67        ChatweeV2_SsoUser::edit($editParameters);
    6168    }
    6269
  • chatwee/trunk/lib/ChatweeV2_SDK/Chatwee/SsoUser.php

    r1564521 r1587657  
    66        $requestParameters = Array(
    77            "login" => $parameters["login"],
     8            "isAdmin" => $parameters["isAdmin"] === true ? 1 : 0,
    89            "avatar" => $parameters["avatar"]
    910        );
     
    5556        );
    5657
     58        if(isSet($parameters["isAdmin"]) === true) {
     59            $requestParameters["isAdmin"] === true ? 1 : 0;
     60        }
     61
    5762        $httpClient = new ChatweeV2_HttpClient();
    5863        $httpClient->get("sso-user/edit", $requestParameters);
Note: See TracChangeset for help on using the changeset viewer.