$buffer) { $new = preg_replace($reg_src, $reg_rep, $buffer); if ($new != $buffer) { $lines++; } $file_buff2[$bline_num] = $new; } if ($lines == 0) { // Skip the rest - no lines changed return MODIFY_FILE_3; } reset($file_buff1); reset($file_buff2); $out_original = fopen($src, "w"); if (! $out_original) { return MODIFY_FILE_2. " $src"; } foreach ($file_buff2 as $bline_num => $buffer) { fputs($out_original,$buffer); } fclose($out_original); // Success! return "$src updated with $lines lines of changes, backup is called $dest"; } // Two global arrays $reg_src = array(); $reg_rep = array(); // Setup various searches and replaces // Scott Kirkwood function add_src_rep($key, $rep) { global $reg_src, $reg_rep; $reg_src[] = "/(define\()([\"'])(".$key.")\\2,\s*([\"'])(.*?)\\4\s*\)/"; $reg_rep[] = "define('".$key."', '".$rep."')"; } function show_error_shop_info() { global $dbhost, $dbuname, $dbpass, $dbname, $prefix_table, $dbtype; global $oos_ssl_server, $oos_root_path, $oos_shop_path, $oos_shop_dir; echo '

'. SHOW_ERROR_INFO . ' ~/includes/configure.php

'; echo <<< EOT
define('OOS_HTTPS_SERVER', '$oos_ssl_server');
define('OOS_SHOP', '$oos_shop_dir');
define('OOS_ABSOLUTE_PATH', '$oos_root_path$oos_shop_dir');
define('OOS_DB_TYPE', '$dbtype');
define('OOS_DB_SERVER', '$dbhost');
define('OOS_DB_USERNAME', '$dbuname');
define('OOS_DB_PASSWORD', '$dbpass');
define('OOS_DB_DATABASE', '$dbname');
define('OOS_DB_PREFIX', '$prefix_table');
define('OOS_ENCODED', '0');
EOT; } // Update the configure.php file with the database information. function oosUpdateConfigShop($db_prefs = false) { global $reg_src, $reg_rep; global $dbhost, $dbuname, $dbpass, $dbname, $prefix_table, $dbtype; global $oos_ssl_server, $oos_root_path, $oos_shop_path, $oos_shop_dir; add_src_rep("OOS_HTTPS_SERVER", $oos_ssl_server); add_src_rep("OOS_SHOP", $oos_shop_dir); add_src_rep("OOS_ABSOLUTE_PATH", $oos_root_path . $oos_shop_dir); add_src_rep("OOS_DB_TYPE", $dbtype); add_src_rep("OOS_DB_SERVER", $dbhost); add_src_rep("OOS_DB_USERNAME", base64_encode($dbuname)); add_src_rep("OOS_DB_PASSWORD", base64_encode($dbpass)); add_src_rep("OOS_DB_DATABASE", $dbname); add_src_rep("OOS_DB_PREFIX", $prefix_table); if (strstr($HTTP_ENV_VARS["OS"],"Win")) { add_src_rep("OOS_SYSTEM", '1'); } else { add_src_rep("OOS_SYSTEM", '0'); } add_src_rep("OOS_ENCODED", '1'); $ret = modify_file("../includes/configure.php", $reg_src, $reg_rep); if (preg_match("/Error/", $ret)) { show_error_shop_info(); } }