Example #1
0
 /**
  * Handles optimizeMember option Replacement Codes.
  *
  * @package optimizeMember\Utilities
  * @since 110815
  *
  * @param array $ops An array of optimizeMember options, or an option value array.
  * @param bool $fill Optional. If true, Replacement Codes are filled, else false.
  * @return mixed The end result, after handling Replacement Codes.
  */
 public static function op_replace($ops = FALSE, $fill = FALSE)
 {
     global $current_site, $current_blog;
     /* Multisite. */
     /**/
     if (is_array($ops) && !empty($ops)) {
         foreach ($ops as &$op) {
             if (is_array($op) && !empty($op)) {
                 /* Array? */
                 $op = c_ws_plugin__optimizemember_pro_utils_ops::op_replace($op, $fill);
             } else {
                 if (is_string($op) && !$fill) {
                     $op = is_multisite() ? preg_replace("/" . preg_quote(rtrim($current_site->domain . $current_site->path, "/") . "/", "/") . "/", "%%_op__current_site_domain_path/%%", $op) : $op;
                     $op = is_multisite() ? preg_replace("/" . preg_quote(rtrim($current_site->domain . $current_site->path, "/"), "/") . "/", "%%_op__current_site_domain_path%%", $op) : $op;
                     /**/
                     $op = is_multisite() ? preg_replace("/" . preg_quote(rtrim($current_blog->domain . $current_blog->path, "/") . "/", "/") . "/", "%%_op__current_blog_domain_path/%%", $op) : $op;
                     $op = is_multisite() ? preg_replace("/" . preg_quote(rtrim($current_blog->domain . $current_blog->path, "/"), "/") . "/", "%%_op__current_blog_domain_path%%", $op) : $op;
                     /**/
                     $op = preg_replace("/" . preg_quote(rtrim(site_url(), "/"), "/") . "/", "%%_op__site_url%%", preg_replace("/" . preg_quote(rtrim(site_url(), "/") . "/", "/") . "/", "%%_op__site_url/%%", $op));
                     $op = preg_replace("/" . preg_quote(rtrim(home_url(), "/"), "/") . "/", "%%_op__home_url%%", preg_replace("/" . preg_quote(rtrim(home_url(), "/") . "/", "/") . "/", "%%_op__home_url/%%", $op));
                     /**/
                     $op = preg_replace("/" . preg_quote($_SERVER["HTTP_HOST"], "/") . "/i", "%%_op__domain%%", preg_replace("/" . preg_quote(get_bloginfo("name"), "/") . "/", "%%_op__blog_name%%", $op));
                 } else {
                     if (is_string($op) && $fill) {
                         $op = is_multisite() ? preg_replace("/%%_op__current_site_domain_path\\/%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim($current_site->domain . $current_site->path, "/") . "/"), $op) : preg_replace("/%%_op__current_site_domain_path\\/%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim(site_url(), "/") . "/"), $op);
                         $op = is_multisite() ? preg_replace("/%%_op__current_site_domain_path%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim($current_site->domain . $current_site->path, "/")), $op) : preg_replace("/%%_op__current_site_domain_path%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim(site_url(), "/")), $op);
                         /**/
                         $op = is_multisite() ? preg_replace("/%%_op__current_blog_domain_path\\/%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim($current_blog->domain . $current_blog->path, "/") . "/"), $op) : preg_replace("/%%_op__current_blog_domain_path\\/%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim(site_url(), "/") . "/"), $op);
                         $op = is_multisite() ? preg_replace("/%%_op__current_blog_domain_path%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim($current_blog->domain . $current_blog->path, "/")), $op) : preg_replace("/%%_op__current_blog_domain_path%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim(site_url(), "/")), $op);
                         /**/
                         $op = preg_replace("/%%_op__site_url%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim(site_url(), "/")), preg_replace("/%%_op__site_url\\/%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim(site_url(), "/") . "/"), $op));
                         $op = preg_replace("/%%_op__home_url%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim(home_url(), "/")), preg_replace("/%%_op__home_url\\/%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(rtrim(home_url(), "/") . "/"), $op));
                         /**/
                         $op = preg_replace("/%%_op__domain%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds($_SERVER["HTTP_HOST"]), preg_replace("/%%_op__blog_name%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(get_bloginfo("name")), $op));
                     }
                 }
             }
         }
     }
     /**/
     return $ops;
     /* Now return the $ops. */
 }
Example #2
0
 /**
  * Handles the importation of options.
  *
  * @package optimizeMember\Imports
  * @since 110815
  *
  * @return null
  */
 public static function import_ops()
 {
     if (!empty($_POST["ws_plugin__optimizemember_pro_import_ops"]) && ($nonce = $_POST["ws_plugin__optimizemember_pro_import_ops"]) && wp_verify_nonce($nonce, "ws-plugin--optimizemember-pro-import-ops") && current_user_can("create_users")) {
         @set_time_limit(0);
         /* Make time for processing large import files. */
         @ini_set("memory_limit", apply_filters("admin_memory_limit", WP_MAX_MEMORY_LIMIT));
         /**/
         if (!empty($_FILES["ws_plugin__optimizemember_pro_import_ops_file"]) && empty($_FILES["ws_plugin__optimizemember_pro_import_ops_file"]["error"])) {
             $file = file_get_contents($_FILES["ws_plugin__optimizemember_pro_import_ops_file"]["tmp_name"], "r");
         }
         /**/
         if (!empty($file)) {
             if (is_array($import = c_ws_plugin__optimizemember_pro_utils_ops::op_replace(@unserialize($file), true)) && !empty($import) && ($import["configured"] = "1")) {
                 unset($import["options_checksum"], $import["options_version"]);
                 /**/
                 foreach ($import as $key => $value) {
                     is_array($value) ? array_unshift($value, "update-signal") : null;
                     $import["ws_plugin__optimizemember_" . $key] = $value;
                     unset($import[$key]);
                 }
                 /**/
                 c_ws_plugin__optimizemember_menu_pages::update_all_options($import, true, true, false, false, false);
             } else {
                 $errors[] = "Invalid data received. Please try again.";
             }
             /* Unserialization failed? */
         } else {
             $errors[] = "No data was received. Please try again.";
         }
         /* The upload failed, or it was empty. */
         /**/
         if (!empty($errors)) {
             /* Here is where a detailed error log will be returned to the Site Owner; as a way of clarifying what just happened during importation. */
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('<strong>The following errors were encountered during importation:</strong><ul style="font-size:80%; list-style:disc outside; margin-left:25px;"><li>' . implode("</li><li>", $errors) . '</li></ul>', true);
         } else {
             c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Operation complete. Options imported.');
         }
     }
     /**/
     return;
     /* Return for uniformity. */
 }
Example #3
0
 /**
  * Handles the exportation of options.
  *
  * @package optimizeMember\Exports
  * @since 110815
  *
  * @return null Or exits script execution after issuing file download prompt with TXT file.
  */
 public static function export_ops()
 {
     if (!empty($_GET["ws_plugin__optimizemember_pro_export_ops"]) && ($nonce = $_GET["ws_plugin__optimizemember_pro_export_ops"]) && wp_verify_nonce($nonce, "ws-plugin--optimizemember-pro-export-ops") && current_user_can("create_users")) {
         $export = serialize(c_ws_plugin__optimizemember_pro_utils_ops::op_replace($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]));
         /**/
         @set_time_limit(0) . @ini_set("memory_limit", apply_filters("admin_memory_limit", WP_MAX_MEMORY_LIMIT));
         @ini_set("zlib.output_compression", 0) . eval('while (@ob_end_clean ());');
         /**/
         status_header(200);
         /* 200 OK status header. */
         /**/
         header("Content-Encoding:");
         header("Accept-Ranges: none");
         header("Content-Type: text/plain; charset=utf-8");
         header("Content-Length: " . strlen($export));
         header("Expires: " . gmdate("D, d M Y H:i:s", strtotime("-1 week")) . " GMT");
         header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
         header("Cache-Control: no-cache, must-revalidate, max-age=0");
         header("Cache-Control: post-check=0, pre-check=0", false);
         header("Pragma: no-cache");
         /**/
         header('Content-Disposition: attachment; filename="export.s2e"');
         /**/
         exit($export);
         /* Exportation file. */
     }
 }