示例#1
0
 public static function wp_settings_as($wp_dir = FALSE, $o_file = FALSE)
 {
     if ($wp_dir && is_dir($wp_dir) && is_readable($wp_settings = $wp_dir . "/wp-settings.php") && $o_file && file_exists($o_file) && ($_wp_settings = trim(file_get_contents($wp_settings)))) {
         $wp_shortinit_section = "/if *\\( *SHORTINIT *\\)[\r\n\t\\s ]*\\{?[\r\n\t\\s ]*return false;[\r\n\t\\s ]*\\}?[\r\n\t\\s ]*/";
         if (preg_match($wp_shortinit_section, $_wp_settings) && ($_wp_settings_parts = preg_split($wp_shortinit_section, $_wp_settings, 2)) && ($_wp_settings = trim($_wp_settings_parts[1])) && ($_wp_settings = "<?php\n" . $_wp_settings)) {
             if ($_wp_settings = str_replace("__FILE__", "'" . str_replace("'", "\\'", $wp_settings) . "'", $_wp_settings)) {
                 $mu_plugins_section = "/[\r\n\t\\s ]+foreach *\\( *wp_get_mu_plugins *\\( *\\) *as *\\\$mu_plugin *\\)[\r\n\t\\s ]*\\{?[\r\n\t\\s ]*include_once *\\( *\\\$mu_plugin *\\);[\r\n\t\\s ]*\\}?[\r\n\t\\s ]*unset *\\( *\\\$mu_plugin *\\);/";
                 $mu_plugins_replace = "\n\n" . c_ws_plugin__optimizemember_utils_s2o::esc_ds(trim(c_ws_plugin__optimizemember_utils_s2o::evl(file_get_contents(dirname(dirname(__FILE__)) . "/templates/cfg-files/s2o-mu-plugins.php")))) . "\n";
                 if (($_wp_settings = preg_replace($mu_plugins_section, $mu_plugins_replace, $_wp_settings, 1, $mu_plugins_replaced)) && $mu_plugins_replaced) {
                     $nw_plugins_section = "/[\r\n\t\\s ]+foreach *\\( *wp_get_active_network_plugins *\\( *\\) *as *\\\$network_plugin *\\)[\r\n\t\\s ]*\\{?[\r\n\t\\s ]*include_once *\\( *\\\$network_plugin *\\);[\r\n\t\\s ]*\\}?[\r\n\t\\s ]*unset *\\( *\\\$network_plugin *\\);/";
                     $nw_plugins_replace = "\n\n" . c_ws_plugin__optimizemember_utils_s2o::esc_ds(trim(c_ws_plugin__optimizemember_utils_s2o::evl(file_get_contents(dirname(dirname(__FILE__)) . "/templates/cfg-files/s2o-nw-plugins.php")))) . "\n";
                     if (($_wp_settings = preg_replace($nw_plugins_section, $nw_plugins_replace, $_wp_settings, 1, $nw_plugins_replaced)) && $nw_plugins_replaced) {
                         $st_plugins_section = "/[\r\n\t\\s ]+foreach *\\( *wp_get_active_and_valid_plugins *\\( *\\) *as *\\\$plugin *\\)[\r\n\t\\s ]*\\{?[\r\n\t\\s ]*include_once *\\( *\\\$plugin *\\);[\r\n\t\\s ]*\\}?[\r\n\t\\s ]*unset *\\( *\\\$plugin *\\);/";
                         $st_plugins_replace = "\n\n" . c_ws_plugin__optimizemember_utils_s2o::esc_ds(trim(c_ws_plugin__optimizemember_utils_s2o::evl(file_get_contents(dirname(dirname(__FILE__)) . "/templates/cfg-files/s2o-st-plugins.php")))) . "\n";
                         if (($_wp_settings = preg_replace($st_plugins_section, $st_plugins_replace, $_wp_settings, 1, $st_plugins_replaced)) && $st_plugins_replaced) {
                             $th_funcs_section = "/[\r\n\t\\s ]+if *\\( *\\! *defined *\\( *['\"]WP_INSTALLING['\"] *\\) *\\|\\| *['\"]wp-activate.php['\"] *\\=\\=\\= *\\\$pagenow *\\)[\r\n\t\\s ]*\\{[\r\n\t\\s ]*if *\\( *TEMPLATEPATH *\\!\\=\\= *STYLESHEETPATH *&& *file_exists *\\( *STYLESHEETPATH *\\. *['\"]\\/functions\\.php['\"] *\\) *\\)[\r\n\t\\s ]*\\{?[\r\n\t\\s ]*include *\\( *STYLESHEETPATH *\\. *['\"]\\/functions\\.php['\"] *\\);[\r\n\t\\s ]*\\}?[\r\n\t\\s ]*if *\\( *file_exists *\\( *TEMPLATEPATH *\\. *['\"]\\/functions\\.php['\"] *\\) *\\)[\r\n\t\\s ]*\\{?[\r\n\t\\s ]*include *\\( *TEMPLATEPATH *\\. *['\"]\\/functions\\.php['\"] *\\);[\r\n\t\\s ]*\\}?[\r\n\t\\s ]*\\}/";
                             $th_funcs_replace = "\n\n" . c_ws_plugin__optimizemember_utils_s2o::esc_ds(trim(c_ws_plugin__optimizemember_utils_s2o::evl(file_get_contents(dirname(dirname(__FILE__)) . "/templates/cfg-files/s2o-th-funcs.php")))) . "\n";
                             if (($_wp_settings = preg_replace($th_funcs_section, $th_funcs_replace, $_wp_settings, 1, $th_funcs_replaced)) && $th_funcs_replaced) {
                                 if ($_wp_settings = str_replace("__FILE__", '"' . str_replace('"', '\\"', $o_file) . '"', $_wp_settings)) {
                                     if ($_wp_settings = trim($_wp_settings)) {
                                         /* WordPress, with optimizeMember only. */
                                         return $wp_settings_as = $_wp_settings;
                                     }
                                     /* After ``SHORTINIT``. */
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     /**/
     return false;
 }