Exemplo n.º 1
0
/**
* Deprecated in optimizeMember v3.5+.
*
* Needed by the optimizeMember Pro upgrader prior to optimizeMember Pro v1.5+.
*
* @package optimizeMember
* @since 3.0
*
* @deprecated Starting with optimizeMember v3.5+, please use:
* 	``c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice()``
*
* @see optimizeMember\Admin_Notices\c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice()
*/
function ws_plugin__optimizemember_enqueue_admin_notice($notice = FALSE, $on_pages = FALSE, $error = FALSE, $time = FALSE, $dismiss = FALSE)
{
    return c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, $on_pages, $error, $time, $dismiss);
}
Exemplo n.º 2
0
 /**
  * Saves all options from any menu page.
  * 
  * Can also be self-verified; and configured extensively with function parameters.
  *
  * @package optimizeMember\Menu_Pages
  * @since 3.5
  *
  * @param array $new_options Optional. Force feed an array of new options. Defaults to ``$_POST`` vars.
  * 	If ``$new_options`` are passed in, be SURE that you've already applied ``stripslashes_deep()``.
  * @param bool $verified Optional. Defaults to false. If true, ``wp_verify_nonce()`` is skipped in this routine.
  * @param bool $update_other Optional. Defaults to true. If false, other option-dependent routines will not be processed.
  * @param bool|array $display_notices Optional. Defaults to true. Can be false, or an array of certain notices that can be displayed.
  * @param bool|array $enqueue_notices Optional. Defaults to false. Can be true, or an array of certain notices that should be enqueued.
  * @param bool $request_refresh Optional. Defaults to false. If true, resulting `success` notice will include a link to refresh the menu page.
  * @return bool True if all optimizeMember options were updated successfully, else false.
  */
 public static function update_all_options($new_options = FALSE, $verified = FALSE, $update_other = TRUE, $display_notices = TRUE, $enqueue_notices = FALSE, $request_refresh = FALSE)
 {
     $updated_all_options = false;
     /* Initialize this to a value of false. Initializing this variable here makes it an available reference-variable to Hooks/Filters. */
     /**/
     eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
     do_action("ws_plugin__optimizemember_before_update_all_options", get_defined_vars());
     /* If you use this Hook, be sure to use ``wp_verify_nonce()``. */
     unset($__refs, $__v);
     /* Unset defined __refs, __v. */
     /**/
     if ($verified || !empty($_POST["ws_plugin__optimizemember_options_save"]) && ($nonce = $_POST["ws_plugin__optimizemember_options_save"]) && wp_verify_nonce($nonce, "ws-plugin--optimizemember-options-save")) {
         $options = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"];
         /* Acquire the full existing configuration options array here. */
         /**/
         $new_options = is_array($new_options) ? $new_options : (!empty($_POST) && is_array($_POST) ? stripslashes_deep($_POST) : array());
         $new_options = c_ws_plugin__optimizemember_utils_strings::trim_deep($new_options);
         /**/
         foreach ($new_options as $key => $value) {
             /* Find all keys contained within ``$new_options`` matching `^ws_plugin__optimizemember_`. */
             if (strpos($key, "ws_plugin__optimizemember_") === 0) {
                 /* A relevant ``$new_options`` key matching `^ws_plugin__optimizemember_`? */
                 if ($key == 'ws_plugin__optimizemember_ccp') {
                     $value = array_filter($new_options[$key]);
                 }
                 /**/
                 if ($key === "ws_plugin__optimizemember_configured") {
                     /* optimizeMember is now configured ( according to these options )? */
                     ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["configured"] = $value) . update_option("ws_plugin__optimizemember_configured", $value);
                 } else {
                     if (!is_array($value) || is_array($value) && array_shift($value) === "update-signal") {
                         $options[preg_replace("/^" . preg_quote("ws_plugin__optimizemember_", "/") . "/", "", $key)] = $value;
                     }
                 }
                 /**/
             }
         }
         unset($key, $value);
         /* Unset these utility variables now. This prevents bleeding vars into Hooks/Filters that are of no use. */
         //die(print_r($options));
         /**/
         eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
         do_action("ws_plugin__optimizemember_during_update_all_options", get_defined_vars());
         /* If you use this Hook, be sure to use ``wp_verify_nonce()``. */
         unset($__refs, $__v);
         /* Unset defined __refs, __v. */
         /**/
         $options = ws_plugin__optimizemember_configure_options_and_their_defaults($options = array_merge($options, array("options_version" => (string) ($options["options_version"] + 0.001))));
         update_option("ws_plugin__optimizemember_options", $options) . (is_multisite() && is_main_site() ? update_site_option("ws_plugin__optimizemember_options", $options) : null) . update_option("ws_plugin__optimizemember_cache", array());
         /**/
         if ($update_other === true || in_array("auto_eot_system", (array) $update_other)) {
             /* Handle the Auto-EOT System now ( enable/disable ). */
             $options["auto_eot_system_enabled"] == 1 ? c_ws_plugin__optimizemember_auto_eots::add_auto_eot_system() : c_ws_plugin__optimizemember_auto_eots::delete_auto_eot_system();
         }
         /**/
         if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = '<strong>Options saved.' . ($request_refresh ? ' Please <a href="' . esc_attr($_SERVER["REQUEST_URI"]) . '">refresh</a>.' : '') . '</strong>')) {
             $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "*:*") : c_ws_plugin__optimizemember_admin_notices::display_admin_notice($notice);
         }
         /**/
         if (empty($_GET["page"]) || $_GET["page"] !== "ws-plugin--optimizemember-mms-ops") {
             if (!$options["membership_options_page"] && ($display_notices === true || in_array("page-conflict-warnings", (array) $display_notices)) && ($notice = '<strong>NOTE:</strong> optimizeMember security restrictions will NOT be enforced until you\'ve configured a Membership Options Page. See: <code>optimizeMember -> General Options -> Membership Options Page</code>.')) {
                 $enqueue_notices === true || in_array("page-conflict-warnings", (array) $enqueue_notices) ? c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__optimizemember_admin_notices::display_admin_notice($notice, true);
             }
             /**/
             if ($options["login_welcome_page"] && $options["login_welcome_page"] === $options["membership_options_page"] && ($display_notices === true || in_array("page-conflict-warnings", (array) $display_notices)) && ($notice = '<strong>optimizeMember:</strong> Your Login Welcome Page is the same as your Membership Options Page. Please correct this. See: <code>optimizeMember -> General Options -> Login Welcome Page</code>.')) {
                 $enqueue_notices === true || in_array("page-conflict-warnings", (array) $enqueue_notices) ? c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__optimizemember_admin_notices::display_admin_notice($notice, true);
             }
             /**/
             if ($options["membership_options_page"] && (string) get_option("page_on_front") === $options["membership_options_page"] && ($display_notices === true || in_array("page-conflict-warnings", (array) $display_notices)) && ($notice = '<strong>optimizeMember:</strong> Your Membership Options Page is currently configured as your Home Page ( i.e. static page ) for WordPress. This causes internal conflicts with optimizeMember. Your Membership Options Page MUST stand alone. Please correct this. See: <code>WordPress -> Reading Options</code>. Or change: <code>optimizeMember -> General Options -> Membership Options Page</code>.')) {
                 $enqueue_notices === true || in_array("page-conflict-warnings", (array) $enqueue_notices) ? c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__optimizemember_admin_notices::display_admin_notice($notice, true);
             }
             /**/
             if ($options["login_welcome_page"] && (string) get_option("page_on_front") === $options["login_welcome_page"] && ($display_notices === true || in_array("page-conflict-warnings", (array) $display_notices)) && ($notice = '<strong>optimizeMember:</strong> Your Login Welcome Page is currently configured as your Home Page ( i.e. static page ) for WordPress. This causes internal conflicts with optimizeMember. Your Login Welcome Page MUST stand alone. Please correct this. See: <code>WordPress -> Reading Options</code>. Or change: <code>optimizeMember -> General Options -> Login Welcome Page</code>.')) {
                 $enqueue_notices === true || in_array("page-conflict-warnings", (array) $enqueue_notices) ? c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__optimizemember_admin_notices::display_admin_notice($notice, true);
             }
             /**/
             if ($options["membership_options_page"] && (string) get_option("page_for_posts") === $options["membership_options_page"] && ($display_notices === true || in_array("page-conflict-warnings", (array) $display_notices)) && ($notice = '<strong>optimizeMember:</strong> Your Membership Options Page is currently configured as your Posts Page ( i.e. static page ) for WordPress. This causes internal conflicts with optimizeMember. Your Membership Options Page MUST stand alone. Please correct this. See: <code>WordPress -> Reading Options</code>. Or change: <code>optimizeMember -> General Options -> Membership Options Page</code>.')) {
                 $enqueue_notices === true || in_array("page-conflict-warnings", (array) $enqueue_notices) ? c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__optimizemember_admin_notices::display_admin_notice($notice, true);
             }
             /**/
             if ($options["login_welcome_page"] && (string) get_option("page_for_posts") === $options["login_welcome_page"] && ($display_notices === true || in_array("page-conflict-warnings", (array) $display_notices)) && ($notice = '<strong>optimizeMember:</strong> Your Login Welcome Page is currently configured as your Posts Page ( i.e. static page ) for WordPress. This causes internal conflicts with optimizeMember. Your Login Welcome Page MUST stand alone. Please correct this. See: <code>WordPress -> Reading Options</code>. Or change: <code>optimizeMember -> General Options -> Login Welcome Page</code>.')) {
                 $enqueue_notices === true || in_array("page-conflict-warnings", (array) $enqueue_notices) ? c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__optimizemember_admin_notices::display_admin_notice($notice, true);
             }
             /**/
             if ($options["file_download_limit_exceeded_page"] && $options["file_download_limit_exceeded_page"] === $options["membership_options_page"] && ($display_notices === true || in_array("page-conflict-warnings", (array) $display_notices)) && ($notice = '<strong>optimizeMember:</strong> Your Download Limit Exceeded Page is the same as your Membership Options Page. Please correct this. See: <code>optimizeMember -> Download Options</code>.')) {
                 $enqueue_notices === true || in_array("page-conflict-warnings", (array) $enqueue_notices) ? c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__optimizemember_admin_notices::display_admin_notice($notice, true);
             }
         }
         /**/
         $updated_all_options = true;
         /* Flag indicating this routine was processed successfully; and that all optimizeMember options have been updated successfully.*/
     }
     /**/
     eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
     do_action("ws_plugin__optimizemember_after_update_all_options", get_defined_vars());
     /* If you use this Hook, be sure to use ``wp_verify_nonce()``. */
     unset($__refs, $__v);
     /* Unset defined __refs, __v. */
     /**/
     return apply_filters("ws_plugin__optimizemember_update_all_options", $updated_all_options ? true : false, get_defined_vars());
 }
Exemplo n.º 3
0
 /**
  * Activation routines for optimizeMember.
  *
  * @package optimizeMember\Installation
  * @since 3.5
  *
  * @return null
  */
 public static function activate($reactivation_reason = FALSE)
 {
     global $wpdb;
     /* Global database object reference. */
     global $current_site, $current_blog;
     /* Multisite. */
     /**/
     do_action("ws_plugin__optimizemember_before_activation", get_defined_vars());
     /**/
     c_ws_plugin__optimizemember_roles_caps::config_roles();
     /* Config Roles/Caps. */
     update_option("ws_plugin__optimizemember_activated_levels", $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]);
     /**/
     /*THIS LINE MOVE PRO FOLDER INTO RIGHT PLACE!*/
     //@rename($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["dir"].'/optimizeMember-pro', WP_PLUGIN_DIR.'/optimizeMember-pro');
     if (!is_dir($files_dir = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["files_dir"])) {
         if (is_writable(dirname(c_ws_plugin__optimizemember_utils_dirs::strip_dir_app_data($files_dir)))) {
             mkdir($files_dir, 0777, true);
         }
     }
     /**/
     if (is_dir($files_dir) && is_writable($files_dir)) {
         if (!file_exists($htaccess = $files_dir . "/.htaccess") || !apply_filters("ws_plugin__optimizemember_preserve_files_dir_htaccess", false, get_defined_vars())) {
             file_put_contents($htaccess, trim(c_ws_plugin__optimizemember_utilities::evl(file_get_contents($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["files_dir_htaccess"]))));
         }
     }
     /**/
     c_ws_plugin__optimizemember_files::write_no_gzip_into_root_htaccess();
     /**/
     if (!is_dir($logs_dir = $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["logs_dir"])) {
         if (is_writable(dirname(c_ws_plugin__optimizemember_utils_dirs::strip_dir_app_data($logs_dir)))) {
             mkdir($logs_dir, 0777, true);
         }
     }
     /**/
     if (is_dir($logs_dir) && is_writable($logs_dir)) {
         if (!file_exists($htaccess = $logs_dir . "/.htaccess") || !apply_filters("ws_plugin__optimizemember_preserve_logs_dir_htaccess", false, get_defined_vars())) {
             file_put_contents($htaccess, trim(c_ws_plugin__optimizemember_utilities::evl(file_get_contents($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["logs_dir_htaccess"]))));
         }
     }
     /**/
     !is_array(get_option("ws_plugin__optimizemember_cache")) ? update_option("ws_plugin__optimizemember_cache", array()) : null;
     !is_array(get_option("ws_plugin__optimizemember_notices")) ? update_option("ws_plugin__optimizemember_notices", array()) : null;
     !is_array(get_option("ws_plugin__optimizemember_options")) ? update_option("ws_plugin__optimizemember_options", array()) : null;
     !is_numeric(get_option("ws_plugin__optimizemember_configured")) ? update_option("ws_plugin__optimizemember_configured", "0") : null;
     /**/
     if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["configured"]) {
         $v = get_option("ws_plugin__optimizemember_activated_version");
         /* Currently. */
         /**/
         if (!$v || !version_compare($v, "3.2", ">=")) {
             $like = "`meta_key` LIKE 's2member\\_%' AND `meta_key` NOT LIKE '%s2member\\_originating\\_blog%'";
             $wpdb->query("UPDATE `" . $wpdb->usermeta . "` SET `meta_key` = CONCAT('" . $wpdb->prefix . "', `meta_key`) WHERE " . $like);
         }
         /**/
         if (!$v || !version_compare($v, "3.2.5", ">=")) {
             $wpdb->query("DELETE FROM `" . $wpdb->options . "` WHERE `option_name` LIKE '\\_transient\\_%'");
         }
         /**/
         if (!$v || !version_compare($v, "3.2.6", ">=")) {
             $wpdb->query("DELETE FROM `" . $wpdb->postmeta . "` WHERE `meta_key` = 'optimizemember_ccaps_req' AND `meta_value` IN('','a:0:{}','a:1:{i:0;s:0:\"\";}')");
         }
         /**/
         if (!$v || !version_compare($v, "110912", ">=") && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["filter_wp_query"] === array("all")) {
             //$notice = '<strong>IMPORTANT:</strong> This version of optimizeMember changes the way your <code>Alternative View Protections</code> work. Please review your options under: <code>optimizeMember -> Restriction Options -> Alternative View Protections</code>.<br />';
             $notice = '';
             c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, array("blog|network:plugins.php", "blog|network:ws-plugin--optimizemember-start", "blog|network:ws-plugin--optimizemember-mms-ops", "blog|network:ws-plugin--optimizemember-gen-ops", "blog|network:ws-plugin--optimizemember-res-ops"));
         }
         /**/
         $notice = '<strong>optimizeMember</strong> has been <strong>reactivated</strong>, with ' . ($reactivation_reason === "levels" ? '<code>' . esc_html($GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]) . '</code> Membership Levels' : 'the latest version') . '.<br />';
         $notice .= 'You now have version ' . esc_html(WS_PLUGIN__OPTIMIZEMEMBER_VERSION) . '. Your existing configuration remains.';
         /**/
         if (!is_multisite() || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm() || is_main_site()) {
             /* No Changelog on a Multisite Blog Farm. */
             //$notice .= '<br />Have fun, <a href="'.esc_attr(admin_url("/admin.php?page=ws-plugin--optimizemember-info#rm-changelog")).'">read the Changelog</a>, and make some money! :-)';
             /**/
             c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, array("blog|network:plugins.php", "blog|network:ws-plugin--optimizemember-start", "blog|network:ws-plugin--optimizemember-mms-ops", "blog|network:ws-plugin--optimizemember-gen-ops", "blog|network:ws-plugin--optimizemember-res-ops"));
         }
     } else {
         $notice = '<strong>Note:</strong> optimizeMember adds some new data columns to your list of Users/Members. If your list gets overcrowded, please use the <strong>Screen Options</strong> tab <em>( upper right-hand corner )</em>. With WordPress Screen Options, you can add/remove specific data columns; thereby making the most important data easier to read. For example, if you create Custom Registration/Profile Fields with optimizeMember, those Custom Fields will result in new data columns; which can cause your list of Users/Members to become nearly unreadable. So just use the Screen Options tab to clean things up.';
         /**/
         c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "blog:users.php", false, false, true);
         /**/
         $notice = '<strong>optimizeMember</strong> v' . esc_html(WS_PLUGIN__OPTIMIZEMEMBER_VERSION) . ' has been <strong>activated</strong>. Nice work!<br />';
         $notice .= 'Have fun, <a href="' . esc_attr(admin_url("/admin.php?page=ws-plugin--optimizemember-start")) . '">read the Quick Start Guide</a>, and make some money! :-)';
         /**/
         c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, array("blog|network:plugins.php", "blog|network:ws-plugin--optimizemember-start", "blog|network:ws-plugin--optimizemember-mms-ops", "blog|network:ws-plugin--optimizemember-gen-ops", "blog|network:ws-plugin--optimizemember-res-ops"));
     }
     /**/
     if (is_multisite() && is_main_site()) {
         $wpdb->query("INSERT INTO `" . $wpdb->usermeta . "` (`user_id`, `meta_key`, `meta_value`) SELECT `ID`, 'optimizemember_originating_blog', '" . esc_sql($current_site->blog_id) . "' FROM `" . $wpdb->users . "` WHERE `ID` NOT IN (SELECT `user_id` FROM `" . $wpdb->usermeta . "` WHERE `meta_key` = 'optimizemember_originating_blog')");
         /**/
         $notice = '<strong>Multisite Network</strong> updated automatically by <strong>optimizeMember</strong> v' . esc_html(WS_PLUGIN__OPTIMIZEMEMBER_VERSION) . '.<br />';
         $notice .= 'You\'ll want to configure optimizeMember\'s Multisite options now.<br />';
         $notice .= 'In the Dashboard for your Main Site, see:<br />';
         $notice .= '<code>optimizeMember -> Multisite ( Config )</code>.';
         /**/
         c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, array("blog|network:plugins.php", "blog|network:ws-plugin--optimizemember-start", "blog|network:ws-plugin--optimizemember-mms-ops", "blog|network:ws-plugin--optimizemember-gen-ops", "blog|network:ws-plugin--optimizemember-res-ops"));
         /**/
         update_site_option("ws_plugin__optimizemember_options", (array) get_option("ws_plugin__optimizemember_options"));
         /**/
         update_option("ws_plugin__optimizemember_activated_mms_version", WS_PLUGIN__OPTIMIZEMEMBER_VERSION);
     }
     /**/
     update_option("ws_plugin__optimizemember_activated_version", WS_PLUGIN__OPTIMIZEMEMBER_VERSION);
     /**/
     do_action("ws_plugin__optimizemember_after_activation", get_defined_vars());
     /**/
     return;
     /* Return for uniformity. */
 }
Exemplo n.º 4
0
 /**
  * Deals with Reading Option conflicts.
  *
  * @package optimizeMember\Option_Notices
  * @since 3.5
  *
  * @attaches-to ``add_action("load-options-reading.php");``
  *
  * @return null
  */
 public static function reading_ops_notice()
 {
     global $pagenow;
     /* Need this global variable. */
     /**/
     do_action("ws_plugin__optimizemember_before_reading_ops_notice", get_defined_vars());
     /**/
     if (is_blog_admin() && $pagenow === "options-reading.php" && !isset($_GET["page"])) {
         do_action("ws_plugin__optimizemember_during_reading_ops_notice", get_defined_vars());
         /* Now check for conflicts. */
         /**/
         if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["membership_options_page"] && (string) get_option("page_on_front") === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["membership_options_page"] && ($notice = '<strong>NOTE:</strong> Your Membership Options Page for optimizeMember is currently configured as your Home Page ( i.e. static page ) for WordPress. This causes internal conflicts with optimizeMember. Your Membership Options Page MUST stand alone. Please correct this.')) {
             c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "blog:" . $pagenow, true);
         }
         /**/
         if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["login_welcome_page"] && (string) get_option("page_on_front") === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["login_welcome_page"] && ($notice = '<strong>NOTE:</strong> Your Login Welcome Page for optimizeMember is currently configured as your Home Page ( i.e. static page ) for WordPress. This causes internal conflicts with optimizeMember. Your Login Welcome Page MUST stand alone. Please correct this.')) {
             c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "blog:" . $pagenow, true);
         }
         /**/
         if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["membership_options_page"] && (string) get_option("page_for_posts") === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["membership_options_page"] && ($notice = '<strong>NOTE:</strong> Your Membership Options Page for optimizeMember is currently configured as your Posts Page ( i.e. static page ) for WordPress. This causes internal conflicts with optimizeMember. Your Membership Options Page MUST stand alone. Please correct this.')) {
             c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "blog:" . $pagenow, true);
         }
         /**/
         if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["login_welcome_page"] && (string) get_option("page_for_posts") === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["login_welcome_page"] && ($notice = '<strong>NOTE:</strong> Your Login Welcome Page for optimizeMember is currently configured as your Posts Page ( i.e. static page ) for WordPress. This causes internal conflicts with optimizeMember. Your Login Welcome Page MUST stand alone. Please correct this.')) {
             c_ws_plugin__optimizemember_admin_notices::enqueue_admin_notice($notice, "blog:" . $pagenow, true);
         }
     }
     /**/
     do_action("ws_plugin__optimizemember_after_reading_ops_notice", get_defined_vars());
     /**/
     return;
     /* Return for uniformity. */
 }