Exemplo n.º 1
0
 /** 
  * Updates the web server config files in Step 1  */
 public static function UpdateStep1()
 {
     if (!file_exists('wp-config.php')) {
         return;
     }
     $root_path = DUPX_Util::set_safe_path($GLOBALS['CURRENT_ROOT_PATH']);
     $wpconfig = @file_get_contents('wp-config.php', true);
     $patterns = array("/'DB_NAME',\\s*'.*?'/", "/'DB_USER',\\s*'.*?'/", "/'DB_PASSWORD',\\s*'.*?'/", "/'DB_HOST',\\s*'.*?'/");
     $db_host = $_POST['dbport'] == 3306 ? $_POST['dbhost'] : "{$_POST['dbhost']}:{$_POST['dbport']}";
     $replace = array("'DB_NAME', " . '\'' . $_POST['dbname'] . '\'', "'DB_USER', " . '\'' . $_POST['dbuser'] . '\'', "'DB_PASSWORD', " . '\'' . DUPX_Util::preg_replacement_quote($_POST['dbpass']) . '\'', "'DB_HOST', " . '\'' . $db_host . '\'');
     //SSL CHECKS
     if ($_POST['ssl_admin']) {
         if (!strstr($wpconfig, 'FORCE_SSL_ADMIN')) {
             $wpconfig = $wpconfig . PHP_EOL . "define('FORCE_SSL_ADMIN', true);";
         }
     } else {
         array_push($patterns, "/'FORCE_SSL_ADMIN',\\s*true/");
         array_push($replace, "'FORCE_SSL_ADMIN', false");
     }
     if ($_POST['ssl_login']) {
         if (!strstr($wpconfig, 'FORCE_SSL_LOGIN')) {
             $wpconfig = $wpconfig . PHP_EOL . "define('FORCE_SSL_LOGIN', true);";
         }
     } else {
         array_push($patterns, "/'FORCE_SSL_LOGIN',\\s*true/");
         array_push($replace, "'FORCE_SSL_LOGIN', false");
     }
     //CACHE CHECKS
     if ($_POST['cache_wp']) {
         if (!strstr($wpconfig, 'WP_CACHE')) {
             $wpconfig = $wpconfig . PHP_EOL . "define('WP_CACHE', true);";
         }
     } else {
         array_push($patterns, "/'WP_CACHE',\\s*true/");
         array_push($replace, "'WP_CACHE', false");
     }
     if (!$_POST['cache_path']) {
         array_push($patterns, "/'WPCACHEHOME',\\s*'.*?'/");
         array_push($replace, "'WPCACHEHOME', ''");
     }
     if (!is_writable("{$root_path}/wp-config.php")) {
         if (file_exists("{$root_path}/wp-config.php")) {
             chmod("{$root_path}/wp-config.php", 0644) ? DUPX_Log::Info('File Permission Update: wp-config.php set to 0644') : DUPX_Log::Info('WARNING: Unable to update file permissions and write to wp-config.php.  Please visit the online FAQ for setting file permissions and work with your hosting provider or server administrator to enable this installer.php script to write to the wp-config.php file.');
         } else {
             DUPX_Log::Info('WARNING: Unable to locate wp-config.php file.  Be sure the file is present in your archive.');
         }
     }
     $wpconfig = preg_replace($patterns, $replace, $wpconfig);
     file_put_contents('wp-config.php', $wpconfig);
     $wpconfig = null;
 }