📄 header_php.php
字号:
if (ZC_UPG_DEBUG2==true) echo $sniffer_file.'<br>';
$got_v1_2_5 = true; //after processing this step, this will be the new version-level
$db_upgraded_to_version='1.2.5';
break;
case '1.2.5': // upgrading from v1.2.5 TO v1.2.6
// if (!$dbinfo->version125 || $dbinfo->version126) continue; // if prerequisite not completed, or already done, skip
$sniffer_file = '_upgrade_zencart_125_to_126.sql';
if (ZC_UPG_DEBUG2==true) echo $sniffer_file.'<br>';
$got_v1_2_6 = true; //after processing this step, this will be the new version-level
$db_upgraded_to_version='1.2.6';
break;
case '1.2.6': // upgrading from v1.2.6 TO v1.2.7
// if (!$dbinfo->version126 || $dbinfo->version127) continue; // if prerequisite not completed, or already done, skip
$sniffer_file = '_upgrade_zencart_126_to_127.sql';
if (ZC_UPG_DEBUG2==true) echo $sniffer_file.'<br>';
$got_v1_2_7 = true; //after processing this step, this will be the new version-level
$db_upgraded_to_version='1.2.7';
break;
case '1.2.7': // upgrading from v1.2.7 TO v1.3.0
// if (!$dbinfo->version127 || $dbinfo->version130) continue; // if prerequisite not completed, or already done, skip
$sniffer_file = '_upgrade_zencart_127_to_130.sql';
if (ZC_UPG_DEBUG2==true) echo $sniffer_file.'<br>';
$got_v1_3_0 = true; //after processing this step, this will be the new version-level
$db_upgraded_to_version='1.3.0';
break;
case '1.3.0': // upgrading from v1.3.0 TO 1.3.0.1
// if (!$dbinfo->version130 || $dbinfo->version1301) continue; // if prerequisite not completed, or already done, skip
$sniffer_file = '_upgrade_zencart_130_to_1301.sql';
if (ZC_UPG_DEBUG2==true) echo $sniffer_file.'<br>';
$got_v1_3_0_1 = true; //after processing this step, this will be the new version-level
$db_upgraded_to_version='1.3.0.1';
break;
case '1.3.0.1': // upgrading from v1.3.0.1 TO 1.3.0.2
// if (!$dbinfo->version1301 || $dbinfo->version1302) continue; // if prerequisite not completed, or already done, skip
$sniffer_file = '_upgrade_zencart_1301_to_1302.sql';
if (ZC_UPG_DEBUG2==true) echo $sniffer_file.'<br>';
$got_v1_3_0_2 = true; //after processing this step, this will be the new version-level
$db_upgraded_to_version='1.3.0.2';
break;
default:
$nothing_to_process=true;
} // end while
//check for errors
$zc_install->test_store_configure(ERROR_TEXT_STORE_CONFIGURE,ERROR_CODE_STORE_CONFIGURE);
if (!$zc_install->fatal_error) {
require(DIR_WS_INCLUDES . 'configure.php');
// require(DIR_WS_INCLUDES . 'classes/db/' . DB_TYPE . '/query_factory.php');
$zc_install->fileExists(DB_TYPE . $sniffer_file, DB_TYPE . $sniffer_file . ' ' . ERROR_TEXT_DB_SQL_NOTEXIST.'<br />"'.DB_TYPE . $sniffer_file.'"' , ERROR_CODE_DB_SQL_NOTEXIST);
$zc_install->functionExists(DB_TYPE, ERROR_TEXT_DB_NOTSUPPORTED, ERROR_CODE_DB_NOTSUPPORTED);
$zc_install->dbConnect(DB_TYPE, DB_SERVER, DB_DATABASE, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, ERROR_TEXT_DB_CONNECTION_FAILED, ERROR_CODE_DB_CONNECTION_FAILED,ERROR_TEXT_DB_NOTEXIST, ERROR_CODE_DB_NOTEXIST);
// security check
if ((!isset($_POST['adminid']) && !isset($_POST['adminpwd'])) || (isset($_POST['adminid']) && ($_POST['adminid']=='' || $_POST['adminid']=='demo'))) {
$zc_install->setError(ERROR_TEXT_ADMIN_PWD_REQUIRED, ERROR_CODE_ADMIN_PWD_REQUIRED, true);
} else {
$admin_name = zen_db_prepare_input($_POST['adminid']);
$admin_pass = zen_db_prepare_input($_POST['adminpwd']);
$sql = "select admin_id, admin_name, admin_pass from " . DB_PREFIX . "admin where admin_name = '" . zen_db_prepare_input($admin_name) . "'";
//open database connection to run queries against it
$db = new queryFactory;
$db->Connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE) or die("Unable to connect to database");
$result = $db->Execute($sql);
$db->Close();
if (!($admin_name == $result->fields['admin_name']) || $admin_name=='demo') {
$zc_install->setError(ERROR_TEXT_ADMIN_PWD_REQUIRED, ERROR_CODE_ADMIN_PWD_REQUIRED, true);
}
if (!zen_validate_password($admin_pass, $result->fields['admin_pass'])) {
$zc_install->setError(ERROR_TEXT_ADMIN_PWD_REQUIRED, ERROR_CODE_ADMIN_PWD_REQUIRED, true);
}
}
// end admin verification
} //end if !fatal_error
if (ZC_UPG_DEBUG2==true) echo 'Processing ['.$sniffer_file.']...<br />';
if ($zc_install->error == false && $nothing_to_process==false) {
//open database connection to run queries against it
$db = new queryFactory;
$db->Connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE) or die("Unable to connect to database");
// load the upgrade.sql file(s) relative to the required step(s)
$query_results = executeSql(DB_TYPE . $sniffer_file, DB_DATABASE, DB_PREFIX);
if ($query_results['queries'] > 0 && $query_results['queries'] != $query_results['ignored']) {
$messageStack->add('upgrade',$query_results['queries'].' statements processed.', 'success');
} else {
$messageStack->add('upgrade','Failed: '.$query_results['queries'], 'error');
}
if (zen_not_null($query_results['errors'])) {
foreach ($query_results['errors'] as $value) {
$messageStack->add('upgrade-error-details','SKIPPED: '.$value, 'error');
}
}
if ($query_results['ignored'] != 0) {
$messageStack->add('upgrade','Note: '.$query_results['ignored'].' statements ignored. See "upgrade_exceptions" table for additional details.', 'caution');
}
/* if (zen_not_null($query_results['output'])) {
foreach ($query_results['output'] as $value) {
echo 'CAUTION: '.$value.'<br />';
if (zen_not_null($value)) $messageStack->add('INFO: '.$value, 'caution');
}
}
*/
$failed_entries += $query_results['ignored'];
$db->Close();
} // end if "no error"
} // end while - version loop
if ($failed_entries !=0) {
$zc_install->setError('<span class="errors">NOTE: Skipped upgrade statements: '.$failed_entries.'<br />See details at bottom of page for your inspection.<br />(Details also logged in the "upgrade_exceptions" table.)</span><br />Note: In most cases, these failed statements can be ignored, <br />as they are indications that certain settings may have already been set on your site. <br />If all the suggested upgrade steps have been completed (no recommendations left), <br />you may proceed to Skip Upgrades and continue configuring your site.','85', false);
}
if (ZC_UPG_DEBUG2==true) {echo '<span class="errors">NOTE: Skipped upgrade statements: '.$failed_entries.'<br />See details at bottom of page for your inspection.<br />(Details also logged in the "upgrade_exceptions" table.)</span>';}
} // end if-is-array-POST['version']
// PREFIX-RENAME ROUTINE:
// if database table-prefix 'change' has been requested, process it here:
if (isset($_POST['newprefix'])) {
$newprefix = $_POST['newprefix'];
if (isset($_POST['db_prefix'])) { //use specified "old" prefix if entered
$db_prefix_rename_from = $_POST['db_prefix'];
} else {
$db_prefix_rename_from = DB_PREFIX;
}
if ($newprefix != $db_prefix_rename_from) { // don't process prefix changes if same prefix selected
$zc_install->test_admin_configure(ERROR_TEXT_ADMIN_CONFIGURE,ERROR_CODE_ADMIN_CONFIGURE);
$zc_install->test_store_configure(ERROR_TEXT_STORE_CONFIGURE,ERROR_CODE_STORE_CONFIGURE);
$zc_install->test_admin_configure_write(ERROR_TEXT_ADMIN_CONFIGURE_WRITE,ERROR_CODE_ADMIN_CONFIGURE_WRITE);
$zc_install->test_store_configure_write(ERROR_TEXT_STORE_CONFIGURE_WRITE,ERROR_CODE_STORE_CONFIGURE_WRITE);
$zc_install->functionExists(DB_TYPE, ERROR_TEXT_DB_NOTSUPPORTED, ERROR_CODE_DB_NOTSUPPORTED);
$zc_install->dbConnect(DB_TYPE, DB_SERVER, DB_DATABASE, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, ERROR_TEXT_DB_CONNECTION_FAILED, ERROR_CODE_DB_CONNECTION_FAILED,ERROR_TEXT_DB_NOTEXIST, ERROR_CODE_DB_NOTEXIST);
// security check
if (!isset($_POST['adminid']) && !isset($_POST['adminpwd'])) {
$zc_install->setError(ERROR_TEXT_ADMIN_PWD_REQUIRED, ERROR_CODE_ADMIN_PWD_REQUIRED, true);
} elseif ($_POST['adminid']=='') {
$zc_install->setError(ERROR_TEXT_ADMIN_PWD_REQUIRED, ERROR_CODE_ADMIN_PWD_REQUIRED, true);
} else {
$admin_name = zen_db_prepare_input($_POST['adminid']);
$admin_pass = zen_db_prepare_input($_POST['adminpwd']);
$sql = "select admin_id, admin_name, admin_pass from " . DB_PREFIX . "admin where admin_name = '" . zen_db_prepare_input($admin_name) . "'";
$db = new queryFactory;
$db->Connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE) or die("Unable to connect to database");
$result = $db->Execute($sql);
$db->Close();
if (!($admin_name == $result->fields['admin_name']) || $admin_name=='demo') {
$zc_install->setError(ERROR_TEXT_ADMIN_PWD_REQUIRED, ERROR_CODE_ADMIN_PWD_REQUIRED, true);
}
if (!zen_validate_password($admin_pass, $result->fields['admin_pass'])) {
$zc_install->setError(ERROR_TEXT_ADMIN_PWD_REQUIRED, ERROR_CODE_ADMIN_PWD_REQUIRED, true);
}
}
// end admin verification
if (ZC_UPG_DEBUG2==true) echo 'Processing prefix updates...<br />';
if ($zc_install->error == false && $nothing_to_process==false) {
$db = new queryFactory;
$db->Connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE) or die("Unable to connect to database");
$tables = $db->Execute("SHOW TABLES"); // get a list of tables to compare against
$tables_list = array();
while (!$tables->EOF) {
$tables_list[] = $tables->fields['Tables_in_' . DB_DATABASE];
$tables->MoveNext();
} //end while
//read the "database_tables.php" files, and loop through the table names
foreach($database_tablenames_array as $filename) {
if (!file_exists($filename)) continue;
$lines = file($filename);
foreach ($lines as $line) {
$line = trim($line);
if (substr($line,0,1) != '<' && substr($line,0,2) != '?'.'>' && substr($line,0,2) != '//' && $line != '') {
// echo 'line='.$line.'<br>';
$def_string=array();
$def_string=explode("'",$line);
//define('TABLE_CONSTANT',DB_PREFIX.'tablename');
//[1]=TABLE_CONSTANT
//[2]=,DB_PREFIX.
//[3]=tablename
//[4]=);
//[5]=
//echo '[1]->'.$def_string[1].'<br>';
//echo '[2]->'.$def_string[2].'<br>';
//echo '[3]->'.$def_string[3].'<br>';
//echo '[4]->'.$def_string[4].'<br>';
//echo '[5]->'.$def_string[5].'<br>';
if (strtoupper($def_string[1]) != 'DB_PREFIX' // the define of DB_PREFIX is not a tablename
&& str_replace('PHPBB','',strtoupper($def_string[1]) ) == strtoupper($def_string[1]) // this is not a phpbb table
&& str_replace(' ','',$def_string[2]) == ',DB_PREFIX.') { // this is a Zen Cart-related table (vs phpbb)
$tablename_read = $def_string[3];
foreach($tables_list as $existing_table) {
if ($tablename_read == str_replace($db_prefix_rename_from,'',$existing_table)) {
//echo $tablename_read.'<br>';
$sql_command = 'alter table '. $db_prefix_rename_from . $tablename_read . ' rename ' . $newprefix.$tablename_read;
//echo $sql_command .'<br>';
$db->Execute($sql_command);
$tables_updated++;
$tablename_read = '';
$sql_command = '';
}//endif $tablename_read == existing
}//end foreach $tables_list
} //endif is "DEFINE"?
} // endif substring not < or ? or // etc
} //end foreach $lines
}//end foreach $database_tablenames array
$db->Close();
} // end if zc_install-error
//echo $tables_updated;
if ($tables_updated <50) $zc_install->setError(ERROR_TEXT_TABLE_RENAME_INCOMPLETE, ERROR_CODE_TABLE_RENAME_INCOMPLETE, false);
if ($tables_updated >50) {
//update the configure.php files with the new prefix.
$configure_files_updated = 0;
foreach($configure_files_array as $filename) {
$lines = file($filename);
$full_file = '';
foreach ($lines as $line) {
$def_string=explode("'",$line);
if (strtoupper($def_string[1]) == 'DB_PREFIX') {
// check to see if prefix found matches what we've been processing... for safety to be sure we have the right line
$old_prefix_from_file = $def_string[3];
if ($old_prefix_from_file == DB_PREFIX || $old_prefix_from_file == $db_prefix_rename_from) {
$line = ' define(\'DB_PREFIX\', \'' . $newprefix. '\');' . "\n";
$configure_files_updated++;
}
} // endif DEFINE DB_PREFIX found;
$full_file .= $line;
} //end foreach $lines
$fp = fopen($filename, 'w');
fputs($fp, $full_file);
fclose($fp);
@chmod($filename, 0644);
} //end foreach array to update configure.php files
if ($configure_files_updated <2) $zc_install->setError(ERROR_TEXT_TABLE_RENAME_CONFIGUREPHP_FAILED, ERROR_CODE_TABLE_RENAME_CONFIGUREPHP_FAILED, false);
} //endif $tables_updated count sufficient
} //endif newprefix != DB_PREFIX
} //endif prefix POST'd
// ?
if (isset($_POST['upgrade'])) {
header('location: index.php?main_page=system_setup&language=' . $language . '&sql_cache='.$suggested_cache . '&is_upgrade=1');
exit;
}
if ($db_upgraded_to_version==$latest_version && $zc_install->error == false && $failed_entries==0) {
// if all db upgrades have been applied, go to the 'finished' page.
header('location: index.php?main_page=finished&language=' . $language);
exit;
} else { //return for more upgrades
if (!$zc_install->fatal_error && !$zc_install->error && $failed_entries==0 ) {
header('location: index.php?main_page=database_upgrade&language=' . $language);
exit;
}
}//endif
} // end if POST==submit
if (isset($_POST['skip'])) {
header('location: index.php?main_page=finished&language=' . $language);
exit;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -