<?php rw_include_once_view('settings/theme.php'); ?> </tr> <tr id="rw_star_size" class="rw-<?php echo ($odd = !$odd) ? 'odd' : 'even'; ?> "> <?php rw_include_once_view('settings/size.php'); ?> </tr> <?php ?> <tr id="rw_rate_readonly" class="rw-<?php echo ($odd = !$odd) ? 'odd' : 'even'; ?> "> <?php rw_include_once_view('settings/read_only.php'); ?> </tr> </table> <?php rw_include_once_view('settings/advanced.php'); ?> </div> </div> </div> </div>
<tr id="rw_rate_background" class="rw-<?php echo ($odd = !$odd) ? "odd" : "even"; ?> "> <?php rw_include_once_view("settings/background.php"); ?> </tr> <?php } ?> <?php } ?> <tr id="rw_rate_readonly" class="rw-<?php echo ($odd = !$odd) ? "odd" : "even"; ?> "> <?php rw_include_once_view("settings/read_only.php"); ?> </tr> </table> <?php rw_include_once_view("settings/advanced.php"); ?> </div> </div> </div> </div>
/** * To get a list of all custom user defined posts: * * get_post_types(array('public'=>true,'_builtin' => false)) */ public function SettingsPage() { // Must check that the user has the required capability. if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.', WP_RW__ID)); } global $plugin_page; // Variables for the field and option names $rw_form_hidden_field_name = "rw_form_hidden_field_name"; if ($plugin_page === $this->GetMenuSlug('buddypress') && $this->IsBuddyPressInstalled()) { $settings_data = array("activity-blog-posts" => array("tab" => "Activity Blog Posts", "class" => "new-blog-post", "options" => WP_RW__ACTIVITY_BLOG_POSTS_OPTIONS, "align" => WP_RW__ACTIVITY_BLOG_POSTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__ACTIVITY_BLOG_POSTS_ALIGN], "excerpt" => false, "show_align" => true), "activity-blog-comments" => array("tab" => "Activity Blog Comments", "class" => "new-blog-comment", "options" => WP_RW__ACTIVITY_BLOG_COMMENTS_OPTIONS, "align" => WP_RW__ACTIVITY_BLOG_COMMENTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__ACTIVITY_BLOG_COMMENTS_ALIGN], "excerpt" => false, "show_align" => true), "activity-updates" => array("tab" => "Activity Updates", "class" => "activity-update", "options" => WP_RW__ACTIVITY_UPDATES_OPTIONS, "align" => WP_RW__ACTIVITY_UPDATES_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__ACTIVITY_UPDATES_ALIGN], "excerpt" => false, "show_align" => true), "activity-comments" => array("tab" => "Activity Comments", "class" => "activity-comment", "options" => WP_RW__ACTIVITY_COMMENTS_OPTIONS, "align" => WP_RW__ACTIVITY_COMMENTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__ACTIVITY_COMMENTS_ALIGN], "excerpt" => false, "show_align" => true), "users" => array("tab" => "Users Profiles", "class" => "user", "options" => WP_RW__USERS_OPTIONS, "align" => WP_RW__USERS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__USERS_ALIGN], "excerpt" => false, "show_align" => false)); $selected_key = isset($_GET["rating"]) ? $_GET["rating"] : "activity-blog-posts"; if (!isset($settings_data[$selected_key])) { $selected_key = "activity-blog-posts"; } } else { if ($plugin_page === $this->GetMenuSlug('bbpress') && $this->IsBBPressInstalled()) { $settings_data = array("forum-posts" => array("tab" => "Forum Posts", "class" => "forum-post", "options" => WP_RW__FORUM_POSTS_OPTIONS, "align" => WP_RW__FORUM_POSTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__FORUM_POSTS_ALIGN], "excerpt" => false, "show_align" => true), "activity-forum-posts" => array("tab" => "Activity Forum Posts", "class" => "new-forum-post", "options" => WP_RW__ACTIVITY_FORUM_POSTS_OPTIONS, "align" => WP_RW__ACTIVITY_FORUM_POSTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__ACTIVITY_FORUM_POSTS_ALIGN], "excerpt" => false, "show_align" => true), "users" => array("tab" => "Users Profiles", "class" => "user", "options" => WP_RW__USERS_OPTIONS, "align" => WP_RW__USERS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__USERS_ALIGN], "excerpt" => false, "show_align" => false)); $selected_key = isset($_GET["rating"]) ? $_GET["rating"] : "forum-posts"; if (!isset($settings_data[$selected_key])) { $selected_key = "forum-posts"; } } else { if ($plugin_page === $this->GetMenuSlug('user')) { $settings_data = array("users-posts" => array("tab" => "Posts", "class" => "user-post", "options" => WP_RW__USERS_POSTS_OPTIONS, "align" => WP_RW__USERS_POSTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__USERS_POSTS_ALIGN], "excerpt" => false, "show_align" => false), "users-pages" => array("tab" => "Pages", "class" => "user-page", "options" => WP_RW__USERS_PAGES_OPTIONS, "align" => WP_RW__USERS_PAGES_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__USERS_PAGES_ALIGN], "excerpt" => false, "show_align" => false), "users-comments" => array("tab" => "Comments", "class" => "user-comment", "options" => WP_RW__USERS_COMMENTS_OPTIONS, "align" => WP_RW__USERS_COMMENTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__USERS_COMMENTS_ALIGN], "excerpt" => false, "show_align" => false)); if ($this->IsBuddyPressInstalled()) { $settings_data["users-activity-updates"] = array("tab" => "Activity Updates", "class" => "user-activity-update", "options" => WP_RW__USERS_ACTIVITY_UPDATES_OPTIONS, "align" => WP_RW__USERS_ACTIVITY_UPDATES_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__USERS_ACTIVITY_UPDATES_ALIGN], "excerpt" => false, "show_align" => false); $settings_data["users-activity-comments"] = array("tab" => "Activity Comments", "class" => "user-activity-comment", "options" => WP_RW__USERS_ACTIVITY_COMMENTS_OPTIONS, "align" => WP_RW__USERS_ACTIVITY_COMMENTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__USERS_ACTIVITY_COMMENTS_ALIGN], "excerpt" => false, "show_align" => false); if ($this->IsBBPressInstalled()) { $settings_data["users-forum-posts"] = array("tab" => "Forum Posts", "class" => "user-forum-post", "options" => WP_RW__USERS_FORUM_POSTS_OPTIONS, "align" => WP_RW__USERS_FORUM_POSTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__USERS_FORUM_POSTS_ALIGN], "excerpt" => false, "show_align" => false); } } $selected_key = isset($_GET["rating"]) ? $_GET["rating"] : "users-posts"; if (!isset($settings_data[$selected_key])) { $selected_key = "users-posts"; } } else { $settings_data = array("blog-posts" => array("tab" => "Blog Posts", "class" => "blog-post", "options" => WP_RW__BLOG_POSTS_OPTIONS, "align" => WP_RW__BLOG_POSTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__BLOG_POSTS_ALIGN], "excerpt" => true, "show_align" => true), "front-posts" => array("tab" => "Front Page Posts", "class" => "front-post", "options" => WP_RW__FRONT_POSTS_OPTIONS, "align" => WP_RW__FRONT_POSTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__FRONT_POSTS_ALIGN], "excerpt" => false, "show_align" => true), "comments" => array("tab" => "Comments", "class" => "comment", "options" => WP_RW__COMMENTS_OPTIONS, "align" => WP_RW__COMMENTS_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__COMMENTS_ALIGN], "excerpt" => false, "show_align" => true), "pages" => array("tab" => "Pages", "class" => "page", "options" => WP_RW__PAGES_OPTIONS, "align" => WP_RW__PAGES_ALIGN, "default_align" => self::$OPTIONS_DEFAULTS[WP_RW__PAGES_ALIGN], "excerpt" => false, "show_align" => true)); $selected_key = isset($_GET["rating"]) ? $_GET["rating"] : "blog-posts"; if (!isset($settings_data[$selected_key])) { $selected_key = "blog-posts"; } } } } $rw_current_settings = $settings_data[$selected_key]; $is_blog_post = 'blog-post' === $rw_current_settings['class']; $item_with_category = in_array($rw_current_settings['class'], array('blog-post', 'front-post', 'comment')); // Show on excerpts list must be loaded anyway. // $this->show_on_excerpts_list = json_decode($this->GetOption(WP_RW__SHOW_ON_EXCERPT)); // Visibility list must be loaded anyway. $this->_visibilityList = json_decode($this->GetOption(WP_RW__VISIBILITY_SETTINGS)); if ($item_with_category) { // Categories Availability list must be loaded anyway. $this->categories_list = json_decode($this->GetOption(WP_RW__CATEGORIES_AVAILABILITY_SETTINGS)); } // Availability list must be loaded anyway. $this->availability_list = json_decode($this->GetOption(WP_RW__AVAILABILITY_SETTINGS)); $this->custom_settings_enabled_list = json_decode($this->GetOption(WP_RW__CUSTOM_SETTINGS_ENABLED)); $this->custom_settings_list = json_decode($this->GetOption(WP_RW__CUSTOM_SETTINGS)); // Accumulated user ratings support. if ('users' === $selected_key && $this->IsBBPressInstalled()) { $rw_is_user_accumulated = $this->GetOption(WP_RW__IS_ACCUMULATED_USER_RATING); } // Some alias. $rw_class = $rw_current_settings["class"]; // See if the user has posted us some information // If they did, this hidden field will be set to 'Y' if (isset($_POST[$rw_form_hidden_field_name]) && $_POST[$rw_form_hidden_field_name] == 'Y') { // Set settings into save mode. $this->settings->SetSaveMode(); /* Widget align options. ---------------------------------------------------------------------------------------------------------------*/ $rw_show_rating = isset($_POST["rw_show"]) ? true : false; $rw_align_str = !$rw_show_rating ? "{}" : $rw_current_settings["default_align"]; if ($rw_show_rating && isset($_POST["rw_align"])) { $align = explode(" ", $_POST["rw_align"]); if (is_array($align) && count($align) == 2) { if (in_array($align[0], array("top", "bottom")) && in_array($align[1], array("left", "center", "right"))) { $rw_align_str = '{"ver": "' . $align[0] . '", "hor": "' . $align[1] . '"}'; } } } $this->SetOption($rw_current_settings["align"], $rw_align_str); /* Rating-Widget options. ---------------------------------------------------------------------------------------------------------------*/ $rw_options_str = preg_replace('/\\%u([0-9A-F]{4})/i', '\\u$1', urldecode(stripslashes($_POST["rw_options"]))); if (null !== json_decode($rw_options_str)) { $this->SetOption($rw_current_settings["options"], $rw_options_str); } /* Availability settings. ---------------------------------------------------------------------------------------------------------------*/ $rw_availability = isset($_POST["rw_availability"]) ? max(0, min(2, (int) $_POST["rw_availability"])) : 0; $this->availability_list->{$rw_class} = $rw_availability; $this->SetOption(WP_RW__AVAILABILITY_SETTINGS, json_encode($this->availability_list)); if ($item_with_category) { /* Categories Availability settings. ---------------------------------------------------------------------------------------------------------------*/ $rw_categories = isset($_POST["rw_categories"]) && is_array($_POST["rw_categories"]) ? $_POST["rw_categories"] : array(); $this->categories_list->{$rw_class} = in_array("-1", $rw_categories) ? array("-1") : $rw_categories; $this->SetOption(WP_RW__CATEGORIES_AVAILABILITY_SETTINGS, json_encode($this->categories_list)); } // Accumulated user ratings support. if ('users' === $selected_key && $this->IsBBPressInstalled() && isset($_POST['rw_accumulated_user_rating'])) { $rw_is_user_accumulated = in_array($_POST['rw_accumulated_user_rating'], array('true', 'false')) ? $_POST['rw_accumulated_user_rating'] : 'true'; $this->SetOption(WP_RW__IS_ACCUMULATED_USER_RATING, $rw_is_user_accumulated); } /* Visibility settings ---------------------------------------------------------------------------------------------------------------*/ $rw_visibility = isset($_POST["rw_visibility"]) ? max(0, min(2, (int) $_POST["rw_visibility"])) : 0; $rw_visibility_exclude = isset($_POST["rw_visibility_exclude"]) ? $_POST["rw_visibility_exclude"] : ""; $rw_visibility_include = isset($_POST["rw_visibility_include"]) ? $_POST["rw_visibility_include"] : ""; $rw_custom_settings_enabled = isset($_POST["rw_custom_settings_enabled"]) ? true : false; $this->custom_settings_enabled_list->{$rw_class} = $rw_custom_settings_enabled; $this->SetOption(WP_RW__CUSTOM_SETTINGS_ENABLED, json_encode($this->custom_settings_enabled_list)); $rw_custom_settings = isset($_POST["rw_custom_settings"]) ? $_POST["rw_custom_settings"] : ''; $this->custom_settings_list->{$rw_class} = $rw_custom_settings; $this->SetOption(WP_RW__CUSTOM_SETTINGS, json_encode($this->custom_settings_list)); $this->_visibilityList->{$rw_class}->selected = $rw_visibility; $this->_visibilityList->{$rw_class}->exclude = self::IDsCollectionToArray($rw_visibility_exclude); $this->_visibilityList->{$rw_class}->include = self::IDsCollectionToArray($rw_visibility_include); $this->SetOption(WP_RW__VISIBILITY_SETTINGS, json_encode($this->_visibilityList)); ?> <div class="updated"><p><strong><?php _e('settings saved.', WP_RW__ID); ?> </strong></p></div> <?php } else { /* Get rating alignment. ---------------------------------------------------------------------------------------------------------------*/ $rw_align_str = $this->GetOption($rw_current_settings["align"]); /* Get show on excerpts option. ---------------------------------------------------------------------------------------------------------------*/ // Already loaded. /* Get rating options. ---------------------------------------------------------------------------------------------------------------*/ $rw_options_str = $this->GetOption($rw_current_settings["options"]); /* Get availability settings. ---------------------------------------------------------------------------------------------------------------*/ // Already loaded. /* Get visibility settings ---------------------------------------------------------------------------------------------------------------*/ // Already loaded. } $rw_align = json_decode($rw_align_str); $rw_options = json_decode($rw_options_str); $rw_language_str = isset($rw_options->lng) ? $rw_options->lng : WP_RW__DEFAULT_LNG; if (!isset($this->_visibilityList->{$rw_class})) { $this->_visibilityList->{$rw_class} = new stdClass(); $this->_visibilityList->{$rw_class}->selected = 0; $this->_visibilityList->{$rw_class}->exclude = ""; $this->_visibilityList->{$rw_class}->include = ""; } $rw_visibility_settings = $this->_visibilityList->{$rw_class}; if (!isset($this->availability_list->{$rw_class})) { $this->availability_list->{$rw_class} = 0; } $rw_availability_settings = $this->availability_list->{$rw_class}; if ($item_with_category) { if (!isset($this->categories_list->{$rw_class})) { $this->categories_list->{$rw_class} = array(-1); } $rw_categories = $this->categories_list->{$rw_class}; } if (!isset($this->custom_settings_enabled_list->{$rw_class})) { $this->custom_settings_enabled_list->{$rw_class} = false; } $rw_custom_settings_enabled = $this->custom_settings_enabled_list->{$rw_class}; if (!isset($this->custom_settings_list->{$rw_class})) { $this->custom_settings_list->{$rw_class} = ''; } $rw_custom_settings = $this->custom_settings_list->{$rw_class}; require_once WP_RW__PLUGIN_DIR . "/languages/{$rw_language_str}.php"; require_once WP_RW__PLUGIN_DIR . "/lib/defaults.php"; require_once WP_RW__PLUGIN_DIR . "/lib/def_settings.php"; /*$rw_options_type = isset($rw_options->type) ? $rw_options->type : "star"; if ($rw_options_type == "nero"){ unset($rw_options->type); $rw_options_str = json_encode($rw_options); $rw_options->type = "nero"; }*/ global $DEFAULT_OPTIONS; rw_set_language_options($DEFAULT_OPTIONS, $dictionary, $dir, $hor); $rating_font_size_set = false; $rating_line_height_set = false; $theme_font_size_set = false; $theme_line_height_set = false; $rating_font_size_set = isset($rw_options->advanced) && isset($rw_options->advanced->font) && isset($rw_options->advanced->font->size); $rating_line_height_set = isset($rw_options->advanced) && isset($rw_options->advanced->layout) && isset($rw_options->advanced->layout->lineHeight); $def_options = $DEFAULT_OPTIONS; if (isset($rw_options->theme) && $rw_options->theme !== "") { require_once WP_RW__PLUGIN_DIR . "/themes/dir.php"; global $RW_THEMES; if (!isset($rw_options->type)) { $rw_options->type = isset($RW_THEMES["star"][$rw_options->theme]) ? "star" : "nero"; } if (isset($RW_THEMES[$rw_options->type][$rw_options->theme])) { require WP_RW__PLUGIN_DIR . "/themes/" . $RW_THEMES[$rw_options->type][$rw_options->theme]["file"]; $theme_font_size_set = isset($theme["options"]->advanced) && isset($theme["options"]->advanced->font) && isset($theme["options"]->advanced->font->size); $theme_line_height_set = isset($theme["options"]->advanced) && isset($theme["options"]->advanced->layout) && isset($theme["options"]->advanced->layout->lineHeight); // Enrich theme options with defaults. $def_options = rw_enrich_options1($theme["options"], $DEFAULT_OPTIONS); } } // Enrich rating options with calculated default options (with theme reference). $rw_options = rw_enrich_options1($rw_options, $def_options); // If font size and line height isn't explicitly specified on rating // options or rating's theme, updated theme correspondingly // to rating size. if (isset($rw_options->size)) { $SIZE = strtoupper($rw_options->size); if (!$rating_font_size_set && !$theme_font_size_set) { global $DEF_FONT_SIZE; if (!isset($rw_options->advanced)) { $rw_options->advanced = new stdClass(); } if (!isset($rw_options->advanced->font)) { $rw_options->advanced->font = new stdClass(); } $rw_options->advanced->font->size = $DEF_FONT_SIZE->{$SIZE}; } if (!$rating_line_height_set && !$theme_line_height_set) { global $DEF_LINE_HEIGHT; if (!isset($rw_options->advanced)) { $rw_options->advanced = new stdClass(); } if (!isset($rw_options->advanced->layout)) { $rw_options->advanced->layout = new stdClass(); } $rw_options->advanced->layout->lineHeight = $DEF_LINE_HEIGHT->{$SIZE}; } } $rw_enrich_options_str = json_encode($rw_options); $browser_info = array("browser" => "msie", "version" => "7.0"); $rw_languages = $this->languages; $this->settings->rating_type = $selected_key; $this->settings->options = $rw_options; $this->settings->languages = $rw_languages; $this->settings->language_str = $rw_language_str; $this->settings->categories = $rw_categories; $this->settings->availability = $rw_availability_settings; $this->settings->visibility = $rw_visibility_settings; $this->settings->form_hidden_field_name = $rw_form_hidden_field_name; $this->settings->custom_settings_enabled = $rw_custom_settings_enabled; $this->settings->custom_settings = $rw_custom_settings; // Accumulated user ratings support. if ('users' === $selected_key && $this->IsBBPressInstalled()) { $this->settings->is_user_accumulated = 'true' === $rw_is_user_accumulated; } ?> <div class="wrap rw-dir-ltr rw-wp-container"> <h2><?php echo __('Rating-Widget Settings', WP_RW__ID); ?> </h2> <!--<div class="widget-liquid-left widgets-sortables"> <div id="widgets-left"> <div class="widgets-holder-wrap ui-droppable"> <div class="sidebar-name"> <div class="sidebar-name-arrow"><br></div> <h3>Available Widgets <span id="removing-widget">Deactivate <span></span></span></h3> </div> <div class="widget-holder"> <p class="description">Drag widgets from here to a sidebar on the right to activate them. Drag widgets back here to deactivate them and delete their settings.</p> </div> <br class="clear"> </div> </div> </div> <div class="widget-liquid-right"> <div id="widgets-right"> <div class="widgets-holder-wrap ui-droppable"> <?php //require_once(dirname(__FILE__) . "/view/twitter.php"); ?> </div> </div> </div>--> <form method="post" action=""> <div id="poststuff"> <div id="rw_wp_set"> <?php rw_require_once_view('preview.php'); ?> <div id="side-sortables"> <div id="categorydiv" class="categorydiv"> <ul id="category-tabs" class="category-tabs"> <?php foreach ($settings_data as $key => $settings) { if ($settings_data[$key] == $rw_current_settings) { ?> <li class="tabs"><?php echo _e($settings["tab"], WP_RW__ID); ?> </li> <?php } else { ?> <li><a href="<?php echo esc_url(add_query_arg(array('rating' => $key, 'message' => false))); ?> "><?php echo _e($settings["tab"], WP_RW__ID); ?> </a></li> <?php } } ?> </ul> <div class="tabs-panel rw-body" id="categories-all"> <?php $enabled = isset($rw_align->ver); ?> <div class="rw-ui-light-bkg"> <label for="rw_show"> <input id="rw_show" type="checkbox" name="rw_show" value="true"<?php if ($enabled) { echo ' checked="checked"'; } ?> onclick="RWM_WP.enable(this);" /> Enable for <?php echo $rw_current_settings["tab"]; ?> </label> <?php if (true === $rw_current_settings["show_align"]) { ?> <div class="rw-post-rating-align"> <div class="rw-ui-disabled"<?php if ($enabled) { echo ' style="display: none;"'; } ?> ></div> <?php $vers = array("top", "bottom"); $hors = array("left", "center", "right"); foreach ($vers as $ver) { ?> <div style="height: 89px; padding: 5px;"> <?php foreach ($hors as $hor) { $checked = false; if ($enabled) { $checked = $ver == $rw_align->ver && $hor == $rw_align->hor; } ?> <div class="rw-ui-img-radio<?php if ($checked) { echo ' rw-selected'; } ?> "> <i class="rw-ui-holder"><i class="rw-ui-sprite rw-ui-post-<?php echo $ver . $hor; ?> "></i></i> <span><?php echo ucwords($ver) . ucwords($hor); ?> </span> <input type="radio" name="rw_align" value="<?php echo $ver . " " . $hor; ?> "<?php if ($checked) { echo ' checked="checked"'; } ?> /> </div> <?php } ?> </div> <?php } ?> </div> <?php } ?> </div> </div> </div> </div> <br /> <?php if ('users' === $selected_key) { rw_require_once_view('user_rating_type_options.php'); } rw_require_once_view('options.php'); rw_require_once_view('availability_options.php'); rw_require_once_view('visibility_options.php'); if ($is_blog_post) { rw_require_once_view('post_views_visibility.php'); } if ($item_with_category) { rw_require_once_view('categories_availability_options.php'); } rw_require_once_view('settings/frequency.php'); rw_require_once_view('powerusers.php'); ?> </div> <div id="rw_wp_set_widgets"> <?php if (false === WP_RW__USER_SECRET) { rw_require_once_view('upgrade.php'); } ?> <?php rw_require_once_view('fb.php'); ?> <?php rw_require_once_view('twitter.php'); ?> </div> </div> </form> <div class="rw-body"> <?php rw_include_once_view('settings/custom_color.php'); ?> </div> </div> <?php }
/** * To get a list of all custom user defined posts: * * get_post_types(array('public'=>true,'_builtin' => false)) */ function SettingsPage() { RWLogger::LogEnterence("SettingsPage"); // Must check that the user has the required capability. if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.', WP_RW__ID)); } global $plugin_page; // Variables for the field and option names $rw_form_hidden_field_name = "rw_form_hidden_field_name"; if ($plugin_page === $this->GetMenuSlug('buddypress') && $this->IsBuddyPressInstalled()) { $settings_data = array("activity-blog-posts" => array("tab" => "Activity Blog Posts", "class" => "new-blog-post", "options" => WP_RW__ACTIVITY_BLOG_POSTS_OPTIONS, "align" => WP_RW__ACTIVITY_BLOG_POSTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__ACTIVITY_BLOG_POSTS_ALIGN], "excerpt" => false, "show_align" => true), "activity-blog-comments" => array("tab" => "Activity Blog Comments", "class" => "new-blog-comment", "options" => WP_RW__ACTIVITY_BLOG_COMMENTS_OPTIONS, "align" => WP_RW__ACTIVITY_BLOG_COMMENTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__ACTIVITY_BLOG_COMMENTS_ALIGN], "excerpt" => false, "show_align" => true), "activity-updates" => array("tab" => "Activity Updates", "class" => "activity-update", "options" => WP_RW__ACTIVITY_UPDATES_OPTIONS, "align" => WP_RW__ACTIVITY_UPDATES_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__ACTIVITY_UPDATES_ALIGN], "excerpt" => false, "show_align" => true), "activity-comments" => array("tab" => "Activity Comments", "class" => "activity-comment", "options" => WP_RW__ACTIVITY_COMMENTS_OPTIONS, "align" => WP_RW__ACTIVITY_COMMENTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__ACTIVITY_COMMENTS_ALIGN], "excerpt" => false, "show_align" => true), "users" => array("tab" => "Users Profiles", "class" => "user", "options" => WP_RW__USERS_OPTIONS, "align" => WP_RW__USERS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__USERS_ALIGN], "excerpt" => false, "show_align" => false)); $selected_key = isset($_GET["rating"]) ? $_GET["rating"] : "activity-blog-posts"; if (!isset($settings_data[$selected_key])) { $selected_key = "activity-blog-posts"; } } else { if ($plugin_page === $this->GetMenuSlug('bbpress') && $this->IsBBPressInstalled()) { $settings_data = array("forum-posts" => array("tab" => "Forum Posts", "class" => "forum-post", "options" => WP_RW__FORUM_POSTS_OPTIONS, "align" => WP_RW__FORUM_POSTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__FORUM_POSTS_ALIGN], "excerpt" => false, "show_align" => true), "activity-forum-posts" => array("tab" => "Activity Forum Posts", "class" => "new-forum-post", "options" => WP_RW__ACTIVITY_FORUM_POSTS_OPTIONS, "align" => WP_RW__ACTIVITY_FORUM_POSTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__ACTIVITY_FORUM_POSTS_ALIGN], "excerpt" => false, "show_align" => true), "users" => array("tab" => "Users Profiles", "class" => "user", "options" => WP_RW__USERS_OPTIONS, "align" => WP_RW__USERS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__USERS_ALIGN], "excerpt" => false, "show_align" => false)); $selected_key = isset($_GET["rating"]) ? $_GET["rating"] : "forum-posts"; if (!isset($settings_data[$selected_key])) { $selected_key = "forum-posts"; } } else { if ($plugin_page === $this->GetMenuSlug('user')) { $settings_data = array("users-posts" => array("tab" => "Posts", "class" => "user-post", "options" => WP_RW__USERS_POSTS_OPTIONS, "align" => WP_RW__USERS_POSTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__USERS_POSTS_ALIGN], "excerpt" => false, "show_align" => false), "users-pages" => array("tab" => "Pages", "class" => "user-page", "options" => WP_RW__USERS_PAGES_OPTIONS, "align" => WP_RW__USERS_PAGES_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__USERS_PAGES_ALIGN], "excerpt" => false, "show_align" => false), "users-comments" => array("tab" => "Comments", "class" => "user-comment", "options" => WP_RW__USERS_COMMENTS_OPTIONS, "align" => WP_RW__USERS_COMMENTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__USERS_COMMENTS_ALIGN], "excerpt" => false, "show_align" => false)); if ($this->IsBuddyPressInstalled()) { $settings_data["users-activity-updates"] = array("tab" => "Activity Updates", "class" => "user-activity-update", "options" => WP_RW__USERS_ACTIVITY_UPDATES_OPTIONS, "align" => WP_RW__USERS_ACTIVITY_UPDATES_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__USERS_ACTIVITY_UPDATES_ALIGN], "excerpt" => false, "show_align" => false); $settings_data["users-activity-comments"] = array("tab" => "Activity Comments", "class" => "user-activity-comment", "options" => WP_RW__USERS_ACTIVITY_COMMENTS_OPTIONS, "align" => WP_RW__USERS_ACTIVITY_COMMENTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__USERS_ACTIVITY_COMMENTS_ALIGN], "excerpt" => false, "show_align" => false); if ($this->IsBBPressInstalled()) { $settings_data["users-forum-posts"] = array("tab" => "Forum Posts", "class" => "user-forum-post", "options" => WP_RW__USERS_FORUM_POSTS_OPTIONS, "align" => WP_RW__USERS_FORUM_POSTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__USERS_FORUM_POSTS_ALIGN], "excerpt" => false, "show_align" => false); } } $selected_key = isset($_GET["rating"]) ? $_GET["rating"] : "users-posts"; if (!isset($settings_data[$selected_key])) { $selected_key = "users-posts"; } } else { $is_extension = false; foreach ($this->_extensions as $ext) { if ($plugin_page !== $this->GetMenuSlug($ext->GetSlug())) { continue; } $is_extension = true; $settings_data = $ext->GetSettings(); $selected_key = isset($_GET["rating"]) && isset($settings_data[$_GET["rating"]]) ? $_GET["rating"] : $this->GetFirstKey($settings_data); } if (!$is_extension) { $settings_data = array("blog-posts" => array("tab" => "Blog Posts", "class" => "blog-post", "options" => WP_RW__BLOG_POSTS_OPTIONS, "align" => WP_RW__BLOG_POSTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__BLOG_POSTS_ALIGN], "excerpt" => true, "show_align" => true), "front-posts" => array("tab" => "Front Page Posts", "class" => "front-post", "options" => WP_RW__FRONT_POSTS_OPTIONS, "align" => WP_RW__FRONT_POSTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__FRONT_POSTS_ALIGN], "excerpt" => false, "show_align" => true), "comments" => array("tab" => "Comments", "class" => "comment", "options" => WP_RW__COMMENTS_OPTIONS, "align" => WP_RW__COMMENTS_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__COMMENTS_ALIGN], "excerpt" => false, "show_align" => true), "pages" => array("tab" => "Pages", "class" => "page", "options" => WP_RW__PAGES_OPTIONS, "align" => WP_RW__PAGES_ALIGN, "default_align" => $this->_OPTIONS_DEFAULTS[WP_RW__PAGES_ALIGN], "excerpt" => false, "show_align" => true)); $selected_key = isset($_GET["rating"]) ? $_GET["rating"] : "blog-posts"; if (!isset($settings_data[$selected_key])) { $selected_key = "blog-posts"; } } } } } $rw_current_settings = $settings_data[$selected_key]; // Some alias. $rw_class = $rw_current_settings["class"]; $is_blog_post = 'blog-post' === $rw_current_settings['class']; $item_with_category = in_array($rw_current_settings['class'], array('blog-post', 'front-post', 'comment')); // Visibility list must be loaded anyway. $this->_visibilityList = $this->GetOption(WP_RW__VISIBILITY_SETTINGS); if ($item_with_category) { // Categories Availability list must be loaded anyway. $this->categories_list = $this->GetOption(WP_RW__CATEGORIES_AVAILABILITY_SETTINGS); } // Availability list must be loaded anyway. $this->availability_list = $this->GetOption(WP_RW__AVAILABILITY_SETTINGS); $this->custom_settings_enabled_list = $this->GetOption(WP_RW__CUSTOM_SETTINGS_ENABLED); $this->custom_settings_list = $this->GetOption(WP_RW__CUSTOM_SETTINGS); $this->multirating_settings_list = $this->GetOption(WP_RW__MULTIRATING_SETTINGS); // Accumulated user ratings support. if ('users' === $selected_key && $this->IsBBPressInstalled()) { $rw_is_user_accumulated = $this->GetOption(WP_RW__IS_ACCUMULATED_USER_RATING); } // Reset categories. $rw_categories = array(); // See if the user has posted us some information // If they did, this hidden field will be set to 'Y' if (isset($_POST[$rw_form_hidden_field_name]) && $_POST[$rw_form_hidden_field_name] == 'Y') { // Set settings into save mode. $this->settings->SetSaveMode(); /* Multi-rating options. ---------------------------------------------------------------------------------------------------------------*/ if (isset($_POST['multi_rating'])) { $multi_rating = $_POST['multi_rating']; if (!$this->_rw_is_running() && count($multi_rating['criteria']) > 3) { $multi_rating['criteria'] = array_splice($multi_rating['criteria'], 0, 3); } // Unset empty labels foreach ($multi_rating['criteria'] as $criteria_id => $criteria) { $criteria_label = isset($criteria['label']) ? trim($criteria['label']) : ''; if (empty($criteria_label)) { unset($multi_rating['criteria'][$criteria_id]['label']); } } // Retrieve the current multi-rating options if (!isset($this->multirating_settings_list)) { $this->multirating_settings_list = new stdClass(); } $multirating_options = $this->multirating_settings_list->{$rw_class}; // Save the new criteria IDs and labels $multirating_options->criteria = $multi_rating['criteria']; // Save the summary label $summary_label = isset($multi_rating['summary_label']) ? trim($multi_rating['summary_label']) : ''; if (!empty($summary_label)) { $multirating_options->summary_label = $summary_label; } else { unset($multirating_options->summary_label); } // Save the state of the Show Summary Rating option $multirating_options->show_summary_rating = isset($multi_rating['show_summary_rating']) ? true : false; // Save the updated multi-rating options if (!isset($this->multirating_settings_list)) { $this->multirating_settings_list = new stdClass(); } $this->multirating_settings_list->{$rw_class} = $multirating_options; $this->SetOption(WP_RW__MULTIRATING_SETTINGS, $this->multirating_settings_list); } /* Widget align options. ---------------------------------------------------------------------------------------------------------------*/ $rw_show_rating = isset($_POST["rw_show"]) ? true : false; $rw_align = !$rw_show_rating ? new stdClass() : $rw_current_settings["default_align"]; if ($rw_show_rating && isset($_POST["rw_align"])) { $align = explode(" ", $_POST["rw_align"]); if (is_array($align) && count($align) == 2) { if (in_array($align[0], array("top", "bottom")) && in_array($align[1], array("left", "center", "right"))) { $rw_align->ver = $align[0]; $rw_align->hor = $align[1]; } } } $this->SetOption($rw_current_settings["align"], $rw_align); /* Rating-Widget options. ---------------------------------------------------------------------------------------------------------------*/ $rw_options = json_decode(preg_replace('/\\%u([0-9A-F]{4})/i', '\\u$1', urldecode(stripslashes($_POST["rw_options"])))); if (null !== $rw_options) { $this->SetOption($rw_current_settings["options"], $rw_options); } /* Availability settings. ---------------------------------------------------------------------------------------------------------------*/ $rw_availability = isset($_POST["rw_availability"]) ? max(0, min(2, (int) $_POST["rw_availability"])) : 0; $this->availability_list->{$rw_class} = $rw_availability; $this->SetOption(WP_RW__AVAILABILITY_SETTINGS, $this->availability_list); if ($item_with_category) { /* Categories Availability settings. ---------------------------------------------------------------------------------------------------------------*/ $rw_categories = isset($_POST["rw_categories"]) && is_array($_POST["rw_categories"]) ? $_POST["rw_categories"] : array(); if (!isset($this->categories_list)) { $this->categories_list = new stdClass(); } $this->categories_list->{$rw_class} = in_array("-1", $rw_categories) ? array("-1") : $rw_categories; $this->SetOption(WP_RW__CATEGORIES_AVAILABILITY_SETTINGS, $this->categories_list); } // Accumulated user ratings support. if ('users' === $selected_key && $this->IsBBPressInstalled() && isset($_POST['rw_accumulated_user_rating'])) { $rw_is_user_accumulated = 'true' == (in_array($_POST['rw_accumulated_user_rating'], array('true', 'false')) ? $_POST['rw_accumulated_user_rating'] : 'true'); $this->SetOption(WP_RW__IS_ACCUMULATED_USER_RATING, $rw_is_user_accumulated); } /* Visibility settings ---------------------------------------------------------------------------------------------------------------*/ $rw_visibility = isset($_POST["rw_visibility"]) ? max(0, min(2, (int) $_POST["rw_visibility"])) : 0; $rw_visibility_exclude = isset($_POST["rw_visibility_exclude"]) ? $_POST["rw_visibility_exclude"] : ""; $rw_visibility_include = isset($_POST["rw_visibility_include"]) ? $_POST["rw_visibility_include"] : ""; $rw_custom_settings_enabled = isset($_POST["rw_custom_settings_enabled"]) ? true : false; if (!isset($this->custom_settings_enabled_list)) { $this->custom_settings_enabled_list = new stdClass(); } $this->custom_settings_enabled_list->{$rw_class} = $rw_custom_settings_enabled; $this->SetOption(WP_RW__CUSTOM_SETTINGS_ENABLED, $this->custom_settings_enabled_list); $rw_custom_settings = isset($_POST["rw_custom_settings"]) ? $_POST["rw_custom_settings"] : ''; if (!isset($this->custom_settings_list)) { $this->custom_settings_list = new stdClass(); } $this->custom_settings_list->{$rw_class} = $rw_custom_settings; $this->SetOption(WP_RW__CUSTOM_SETTINGS, $this->custom_settings_list); if (!isset($this->_visibilityList)) { $this->_visibilityList = new stdClass(); } if (!isset($this->_visibilityList->{$rw_class})) { $this->_visibilityList->{$rw_class} = new stdClass(); } $this->_visibilityList->{$rw_class}->selected = $rw_visibility; $this->_visibilityList->{$rw_class}->exclude = self::IDsCollectionToArray($rw_visibility_exclude); $this->_visibilityList->{$rw_class}->include = self::IDsCollectionToArray($rw_visibility_include); $this->SetOption(WP_RW__VISIBILITY_SETTINGS, $this->_visibilityList); ?> <div class="updated"><p><strong><?php _e('Settings successfully saved.', WP_RW__ID); ?> </strong></p></div> <?php } else { /* Get rating alignment. ---------------------------------------------------------------------------------------------------------------*/ $rw_align = $this->GetOption($rw_current_settings["align"]); /* Get show on excerpts option. ---------------------------------------------------------------------------------------------------------------*/ // Already loaded. /* Get rating options. ---------------------------------------------------------------------------------------------------------------*/ $rw_options = $this->GetOption($rw_current_settings["options"]); /* Get availability settings. ---------------------------------------------------------------------------------------------------------------*/ // Already loaded. /* Get visibility settings ---------------------------------------------------------------------------------------------------------------*/ // Already loaded. } $rw_language_str = isset($rw_options->lng) ? $rw_options->lng : WP_RW__DEFAULT_LNG; if (!isset($this->_visibilityList->{$rw_class})) { $this->_visibilityList->{$rw_class} = new stdClass(); $this->_visibilityList->{$rw_class}->selected = 0; $this->_visibilityList->{$rw_class}->exclude = ""; $this->_visibilityList->{$rw_class}->include = ""; } $rw_visibility_settings = $this->_visibilityList->{$rw_class}; if (!isset($this->availability_list->{$rw_class})) { $this->availability_list->{$rw_class} = 0; } $rw_availability_settings = $this->availability_list->{$rw_class}; if ($item_with_category) { if (!isset($this->categories_list->{$rw_class})) { $this->categories_list->{$rw_class} = array(-1); } $rw_categories = $this->categories_list->{$rw_class}; } if (!isset($this->custom_settings_enabled_list->{$rw_class})) { $this->custom_settings_enabled_list->{$rw_class} = false; } $rw_custom_settings_enabled = $this->custom_settings_enabled_list->{$rw_class}; if (!isset($this->custom_settings_list->{$rw_class})) { $this->custom_settings_list->{$rw_class} = ''; } $rw_custom_settings = $this->custom_settings_list->{$rw_class}; require_once WP_RW__PLUGIN_DIR . "/languages/{$rw_language_str}.php"; require_once WP_RW__PLUGIN_DIR . "/lib/defaults.php"; require_once WP_RW__PLUGIN_DIR . "/lib/def_settings.php"; global $DEFAULT_OPTIONS; rw_set_language_options($DEFAULT_OPTIONS, $dictionary, $dir, $hor); $theme_font_size_set = false; $theme_line_height_set = false; $rating_font_size_set = isset($rw_options->advanced) && isset($rw_options->advanced->font) && isset($rw_options->advanced->font->size); $rating_line_height_set = isset($rw_options->advanced) && isset($rw_options->advanced->layout) && isset($rw_options->advanced->layout->lineHeight); $def_options = $DEFAULT_OPTIONS; if (isset($rw_options->theme) && $rw_options->theme !== "") { require_once WP_RW__PLUGIN_DIR . "/themes/dir.php"; global $RW_THEMES; if (!isset($rw_options->type)) { $rw_options->type = isset($RW_THEMES["star"][$rw_options->theme]) ? "star" : "nero"; } if (isset($RW_THEMES[$rw_options->type][$rw_options->theme])) { require WP_RW__PLUGIN_DIR . "/themes/" . $RW_THEMES[$rw_options->type][$rw_options->theme]["file"]; $theme_font_size_set = isset($theme["options"]->advanced) && isset($theme["options"]->advanced->font) && isset($theme["options"]->advanced->font->size); $theme_line_height_set = isset($theme["options"]->advanced) && isset($theme["options"]->advanced->layout) && isset($theme["options"]->advanced->layout->lineHeight); // Enrich theme options with defaults. $def_options = rw_enrich_options1($theme["options"], $DEFAULT_OPTIONS); } } // Enrich rating options with calculated default options (with theme reference). $rw_options = rw_enrich_options1($rw_options, $def_options); // If font size and line height isn't explicitly specified on rating // options or rating's theme, updated theme correspondingly // to rating size. if (isset($rw_options->size)) { $SIZE = strtoupper($rw_options->size); if (!$rating_font_size_set && !$theme_font_size_set) { global $DEF_FONT_SIZE; if (!isset($rw_options->advanced)) { $rw_options->advanced = new stdClass(); } if (!isset($rw_options->advanced->font)) { $rw_options->advanced->font = new stdClass(); } $rw_options->advanced->font->size = $DEF_FONT_SIZE->{$SIZE}; } if (!$rating_line_height_set && !$theme_line_height_set) { global $DEF_LINE_HEIGHT; if (!isset($rw_options->advanced)) { $rw_options->advanced = new stdClass(); } if (!isset($rw_options->advanced->layout)) { $rw_options->advanced->layout = new stdClass(); } $rw_options->advanced->layout->lineHeight = $DEF_LINE_HEIGHT->{$SIZE}; } } $browser_info = array("browser" => "msie", "version" => "7.0"); $rw_languages = $this->languages; $this->settings->rating_type = $selected_key; $this->settings->options = $rw_options; $this->settings->languages = $rw_languages; $this->settings->language_str = $rw_language_str; $this->settings->categories = $rw_categories; $this->settings->availability = $rw_availability_settings; $this->settings->visibility = $rw_visibility_settings; $this->settings->form_hidden_field_name = $rw_form_hidden_field_name; $this->settings->custom_settings_enabled = $rw_custom_settings_enabled; $this->settings->custom_settings = $rw_custom_settings; // Accumulated user ratings support. if ('users' === $selected_key && $this->IsBBPressInstalled()) { $this->settings->is_user_accumulated = $rw_is_user_accumulated; } ?> <div class="wrap rw-dir-ltr rw-wp-container"> <h2 class="nav-tab-wrapper rw-nav-tab-wrapper"> <?php foreach ($settings_data as $key => $settings) { ?> <a href="<?php echo esc_url(add_query_arg(array('rating' => $key, 'message' => false))); ?> " class="nav-tab<?php if ($settings_data[$key] == $rw_current_settings) { echo ' nav-tab-active'; } ?> "><?php _e($settings["tab"], WP_RW__ID); ?> </a> <?php } ?> </h2> <form method="post" action=""> <div id="poststuff"> <div id="rw_wp_set"> <?php rw_require_once_view('preview.php'); ?> <div class="has-sidebar has-right-sidebar"> <div class="has-sidebar-content"> <div class="postbox rw-body"> <?php $enabled = isset($rw_align->ver); ?> <div style="padding: 10px;"> <label for="rw_show"> <input id="rw_show" type="checkbox" name="rw_show" value="true"<?php if ($enabled) { echo ' checked="checked"'; } ?> onclick="RWM_WP.enable(this);" /> Enable for <?php echo $rw_current_settings["tab"]; ?> </label> <?php if (true === $rw_current_settings["show_align"]) { ?> <div class="rw-post-rating-align"<?php if (!$enabled) { echo ' style="display: none;"'; } ?> > <?php $vers = array("top", "bottom"); $hors = array("left", "center", "right"); ?> <select> <?php foreach ($vers as $ver) { foreach ($hors as $hor) { $checked = false; if ($enabled) { $checked = $ver == $rw_align->ver && $hor == $rw_align->hor; } ?> <option value="<?php echo $ver . " " . $hor; ?> "<?php if ($checked) { echo ' selected="selected"'; } ?> ><?php echo ucwords($ver) . ' ' . ucwords($hor); ?> </option> <?php } } ?> </select> <input id="rw_align" name="rw_align" type="hidden" value="<?php echo $rw_align->ver . ' ' . $rw_align->hor; ?> "> <script> (function($) { $('.rw-post-rating-align select').chosen({width: '100%'}).change(function(evt, params){ $('#rw_align').val(params.selected); }); })(jQuery); </script> </div> <?php } ?> </div> </div> </div> </div> <?php if ('users' === $selected_key) { rw_require_once_view('user_rating_type_options.php'); } rw_require_once_view('options.php'); rw_require_once_view('availability_options.php'); rw_require_once_view('visibility_options.php'); if ($is_blog_post) { rw_require_once_view('post_views_visibility.php'); } if ($item_with_category) { rw_require_once_view('categories_availability_options.php'); } rw_require_once_view('settings/frequency.php'); rw_require_once_view('powerusers.php'); ?> </div> <div id="rw_wp_set_widgets"> <?php if (!$this->_rw_setup_extension()) { // Show random. if (0 == rand(0, 1)) { rw_require_once_view('rich-snippets.php'); } else { rw_require_once_view('upgrade.php'); } } ?> <?php //rw_require_once_view('fb.php'); ?> <?php //rw_require_once_view('twitter.php'); ?> </div> </div> </form> <div class="rw-body"> <?php rw_include_once_view('settings/custom_color.php'); ?> </div> </div> <?php fs_require_template('powered-by.php'); ?> <?php // Store options if in save mode. if ($this->settings->IsSaveMode()) { $this->_options_manager->store(); } }