X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Finstall-inc.php;h=1631b93f876f8ebd40a986a44e34684ad3a2de38;hb=9e1f6d2cff0bbef912d605d4ae1728f0382b83a4;hp=065726a9d276ca44e3bd7bc80caefb4e1059c565;hpb=f74581eca45c393033acfd9d7798b958031bc625;p=mailer.git diff --git a/inc/install-inc.php b/inc/install-inc.php index 065726a9d2..1631b93f87 100644 --- a/inc/install-inc.php +++ b/inc/install-inc.php @@ -41,6 +41,9 @@ if (!defined('__SECURITY')) { require($INC); } +// Load sql_patches here +LOAD_EXTENSION("sql_patches"); + // Init variables $mysql = ""; if ((REQUEST_ISSET_POST(('mysql'))) && (is_array(REQUEST_POST('mysql')))) $mysql = REQUEST_POST('mysql'); @@ -97,6 +100,7 @@ if ((!isInstalled()) || (!isAdminRegistered())) if (empty($mysql['login'])) $mysql['login'] = "your_login"; if (empty($mysql['host'])) $mysql['host'] = "localhost"; if (empty($mysql['prefix'])) $mysql['prefix'] = "mxchange_"; + if (empty($mysql['type'])) $mysql['type'] = "MyISAM"; if (getTotalFatalErrors() > 0) { OUTPUT_HTML(""); foreach (getFatalArray() as $key => $err) { @@ -107,6 +111,7 @@ if ((!isInstalled()) || (!isAdminRegistered())) define('__MYSQL_HOST' , $mysql['host']); define('__MYSQL_DBASE' , $mysql['dbase']); define('__MYSQL_PREFIX', $mysql['prefix']); + define('__TABLE_TYPE' , $mysql['type']); define('__MYSQL_LOGIN' , $mysql['login']); define('__SPATH_VALUE' , REQUEST_POST('spath')); define('__BURL_VALUE' , REQUEST_POST('burl')); @@ -140,6 +145,7 @@ if ((!isInstalled()) || (!isAdminRegistered())) define('__MYSQL_HOST' , $mysql['host']); define('__MYSQL_DBASE' , $mysql['dbase']); define('__MYSQL_PREFIX' , $mysql['prefix']); + define('__TABLE_TYPE' , $mysql['type']); define('__MYSQL_LOGIN' , $mysql['login']); define('__MYSQL_PASS1' , $mysql['pass1']); define('__MYSQL_PASS2' , $mysql['pass2']); @@ -166,6 +172,7 @@ if ((!isInstalled()) || (!isAdminRegistered())) define('__MYSQL_HOST' , $mysql['host']); define('__MYSQL_DBASE' , $mysql['dbase']); define('__MYSQL_PREFIX' , $mysql['prefix']); + define('__TABLE_TYPE' , $mysql['type']); define('__MYSQL_LOGIN' , $mysql['login']); // SMTP settings @@ -245,9 +252,9 @@ if ((!isInstalled()) || (!isAdminRegistered())) "); foreach ($mysql as $key => $value) { - OUTPUT_HTML(" "); + OUTPUT_HTML(" "); } - OUTPUT_HTML(" + OUTPUT_HTML(" @@ -265,8 +272,8 @@ if ((!isInstalled()) || (!isAdminRegistered())) case "finalize": // Write captured data to files if ((REQUEST_ISSET_POST(('finalize'))) && (!isInstalled())) { - // You have submitted data then we have to reset the fatal messages - $SQLs = array(); + // You have submitted data then we have to reset the SQLs + INIT_SQLS(); // Connect to MySQL server SQL_CONNECT($mysql['host'], $mysql['login'], $mysql['pass1'], __FILE__, __LINE__); @@ -276,15 +283,25 @@ if ((!isInstalled()) || (!isAdminRegistered())) // Automatically run install.sql if ((FILE_READABLE(REQUEST_POST('spath')."install/tables.sql")) && (FILE_READABLE(REQUEST_POST('spath')."install/menu-".GET_LANGUAGE().".sql"))) { // Both exists so import them - foreach (array("tables.sql", "menu-".GET_LANGUAGE().".sql") as $dump) { + foreach (array("tables", "menu-".GET_LANGUAGE()) as $dump) { // Should be save here because file_exists() is there but we check it again. :) - $FQFN = secureString(REQUEST_POST('spath')) . "install/" . $dump; + $FQFN = REQUEST_POST('spath') . "install/" . $dump . ".sql"; if (FILE_READABLE($FQFN)) { // Read the file $fileContent = READ_FILE($FQFN, true); + // Replace the {!prefix!} with actual one + while (strpos($fileContent, "{!prefix!}") !== false) { + $fileContent = str_replace("{!prefix!}", $mysql['prefix'], $fileContent); + } // END - while + + // Replace the {!type!} with actual one + while (strpos($fileContent, "{!type!}") !== false) { + $fileContent = str_replace("{!type!}", $mysql['type'], $fileContent); + } // END - while + // And split it up against ;\n ... - $SQLs = merge_array($SQLs, explode(";\n", $fileContent)); + SET_SQLS(merge_array(GET_SQLS(), explode(";\n", $fileContent))); } else { // Not readable! debug_report_bug(sprintf("SQL dump %s is not readable!", $dump)); @@ -292,23 +309,14 @@ if ((!isInstalled()) || (!isAdminRegistered())) } // END - foreach // Are some SQLs found? - if (count($SQLs) == 0) { + if (COUNT_SQLS() == 0) { // Abort here - addFatalMessage(getMessage('INSTALL_SQL_IMPORT_FAILED')); + addFatalMessage(__FILE__, __LINE__, getMessage('INSTALL_SQL_IMPORT_FAILED')); return; } // END - if // Now run all queries through and try to keep out empty or comment queries - foreach ($SQLs as $sql) { - // Trim spaces away - $sql = trim($sql); - - // Is this query not empty and not a comment? - if ((!empty($sql)) && (substr($sql, 0, 2) != "--") && (substr($sql, 0, 1) != "#")) { - // Then run it! - SQL_QUERY($sql, __FILE__, __LINE__); - } // END - if - } // END - foreach + runFilterChain('run_sqls'); // Ok, all done. So we can write the config data to the php files if (REQUEST_POST('spath') != constant('PATH')) changeDataInFile(REQUEST_POST('spath')."inc/config.php", "SERVER-PATH", "define('PATH', \"", "\");", REQUEST_POST('spath'), 0); @@ -325,13 +333,14 @@ if ((!isInstalled()) || (!isAdminRegistered())) changeDataInFile(REQUEST_POST('spath')."inc/config.php", "MYSQL-LOGIN", " 'login' => \"", "\",", $mysql['login'], 0); changeDataInFile(REQUEST_POST('spath')."inc/config.php", "MYSQL-PASSWORD", " 'password' => \"", "\",", $mysql['pass1'], 0); changeDataInFile(REQUEST_POST('spath')."inc/config.php", "MYSQL-PREFIX", "define('_MYSQL_PREFIX', \"", "\");", $mysql['prefix'], 0); + changeDataInFile(REQUEST_POST('spath')."inc/config.php", "TABLE-TYPE", "define('_TABLE_TYPE', \"", "\");", $mysql['type'], 0); changeDataInFile(REQUEST_POST('spath')."inc/config.php", "SMTP-HOSTNAME", "define('SMTP_HOSTNAME', \"", "\");", REQUEST_POST('smtp_host'), 0); changeDataInFile(REQUEST_POST('spath')."inc/config.php", "SMTP-USER", "define('SMTP_USER', \"", "\");", REQUEST_POST('smtp_user'), 0); changeDataInFile(REQUEST_POST('spath')."inc/config.php", "SMTP-PASSWORD", "define('SMTP_PASSWORD', \"", "\");", REQUEST_POST('smtp_pass1'), 0); changeDataInFile(REQUEST_POST('spath')."inc/config.php", "INSTALLED", "define('mxchange_installed', ", ");", "true", 0); } else { // Installation area not found! - addFatalMessage(getMessage('INSTALL_MISSING_DUMPS')); + addFatalMessage(__FILE__, __LINE__, getMessage('INSTALL_MISSING_DUMPS')); } } // END - if } // END - if @@ -365,7 +374,7 @@ if ((!isInstalled()) || (!isAdminRegistered())) LOAD_TEMPLATE("install_finished"); } else { // Something goes wrong during installation! :-( - addFatalMessage(getMessage('INSTALL_FINALIZER_FAILED')); + addFatalMessage(__FILE__, __LINE__, getMessage('INSTALL_FINALIZER_FAILED')); LOAD_INC("inc/fatal_errors.php"); } break; @@ -377,7 +386,7 @@ if ((!isInstalled()) || (!isAdminRegistered())) } } else { // Already installed! - addFatalMessage(getMessage('ALREADY_INSTALLED')); + addFatalMessage(__FILE__, __LINE__, getMessage('ALREADY_INSTALLED')); } //