// Adds a given template with content to install output stream
function addTemplateToInstallContent ($template, $content = array()) {
// Load the template
// Adds a given template with content to install output stream
function addTemplateToInstallContent ($template, $content = array()) {
// Load the template
$content = $GLOBALS['install_content'];
} else {
// Nothing found, this needs fixing
$content = $GLOBALS['install_content'];
} else {
// Nothing found, this needs fixing
// Generates the installer menu by simply loading another template
function generateInstallerMenu () {
// Load installer menu template
// Generates the installer menu by simply loading another template
function generateInstallerMenu () {
// Load installer menu template
// Generate the install footer navigation by simply loading another template
function generateInstallerFooterNavigation () {
// Load installer menu template
// Generate the install footer navigation by simply loading another template
function generateInstallerFooterNavigation () {
// Load installer menu template
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Call-back function ' . $callbackName . ' not found. saveStatus[status]=' . $saveStatus['status'] . ', key=' . $key . ', value=' . $value);
// All fine (CAREFULL!)
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Call-back function ' . $callbackName . ' not found. saveStatus[status]=' . $saveStatus['status'] . ', key=' . $key . ', value=' . $value);
// All fine (CAREFULL!)
// Is it not valid?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',value=' . $value . ',isValid=' . intval($isValid));
// Is it not valid?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',value=' . $value . ',isValid=' . intval($isValid));
// Then add it to saveStatus
array_push($saveStatus['failed_fields'], $key);
} // END - if
// Then add it to saveStatus
array_push($saveStatus['failed_fields'], $key);
} // END - if
// Then change status and message
$saveStatus['status'] = 'failed';
$saveStatus['message'] = '{%message,INSTALLER_POST_CHECK_' . strtoupper($currentTab) . '_FAILED=' . $GLOBALS['installer_post_error'][$currentTab] . '%}';
// Then change status and message
$saveStatus['status'] = 'failed';
$saveStatus['message'] = '{%message,INSTALLER_POST_CHECK_' . strtoupper($currentTab) . '_FAILED=' . $GLOBALS['installer_post_error'][$currentTab] . '%}';
if (count($GLOBALS['installer_failed_fields'][$currentTab]) > 0) {
// Then merge both
$saveStatus['failed_fields'] = merge_array($saveStatus['failed_fields'], $GLOBALS['installer_failed_fields'][$currentTab]);
if (count($GLOBALS['installer_failed_fields'][$currentTab]) > 0) {
// Then merge both
$saveStatus['failed_fields'] = merge_array($saveStatus['failed_fields'], $GLOBALS['installer_failed_fields'][$currentTab]);
// Call-back function to check if database configuration in POST is valid
function isInstallerPostDatabaseConfigValid ($currentTab) {
// By default nothing is valid
// Call-back function to check if database configuration in POST is valid
function isInstallerPostDatabaseConfigValid ($currentTab) {
// By default nothing is valid
// Password 1 not set
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_PASSWORD1_EMPTY--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_password1');
// Password 1 not set
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_PASSWORD1_EMPTY--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_password1');
} elseif ((isPostRequestElementSet('mysql_password1')) && (!isPostRequestElementSet('mysql_password2'))) {
// Password 2 not set
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_PASSWORD2_EMPTY--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_password2');
} elseif ((isPostRequestElementSet('mysql_password1')) && (!isPostRequestElementSet('mysql_password2'))) {
// Password 2 not set
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_PASSWORD2_EMPTY--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_password2');
} elseif (postRequestElement('mysql_password1') != postRequestElement('mysql_password2')) {
// Passwords mismatch
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_PASSWORDS_MISMATCH--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_password1', 'mysql_password2');
} elseif (postRequestElement('mysql_password1') != postRequestElement('mysql_password2')) {
// Passwords mismatch
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_PASSWORDS_MISMATCH--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_password1', 'mysql_password2');
// Cannot connect to database
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_CONNECT_ERROR--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_login', 'mysql_password1', 'mysql_password2');
// Cannot connect to database
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_CONNECT_ERROR--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_login', 'mysql_password1', 'mysql_password2');
// Could not find database
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_SELECT_FAILED--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_dbase');
// Could not find database
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_SELECT_FAILED--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_dbase');
// Something bad happened
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_ENGINES_SQL_ERROR--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_type');
// Something bad happened
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_ENGINES_SQL_ERROR--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_type');
} elseif (count($engines) == 0) {
// Restore own error handler again
set_error_handler('__errorHandler');
} elseif (count($engines) == 0) {
// Restore own error handler again
set_error_handler('__errorHandler');
// No engine is active
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_NO_ENGINES_ACTIVE--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_type');
// No engine is active
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_NO_ENGINES_ACTIVE--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_type');
}
// Then check all, if the requested is working
foreach ($engines as $engineArray) {
// By default the selected engine is not valid
}
// Then check all, if the requested is working
foreach ($engines as $engineArray) {
// By default the selected engine is not valid
// Restore own error handler again
set_error_handler('__errorHandler');
// Requested engine is not active
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_ENGINE_UNSUPPORTED--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_type');
// Restore own error handler again
set_error_handler('__errorHandler');
// Requested engine is not active
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_ENGINE_UNSUPPORTED--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_type');
set_error_handler('__errorHandler');
// If the status is true, disconnect the database
set_error_handler('__errorHandler');
// If the status is true, disconnect the database
// Still something bad happened (e.g. tables found)
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_IN_USE--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_dbase');
// Still something bad happened (e.g. tables found)
$GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_IN_USE--}';
array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_dbase');