} } } } // Close the database connection @mysql_close($Connection); } // If the database was upgraded successfully, save all parameters to the conf/database.php file if ($Context->WarningCollector->Count() == 0) { // Save database settings $DBFile = $RootDirectory . 'conf/database.php'; $DBManager = new ConfigurationManager($Context); $DBManager->GetSettingsFromFile($DBFile); // Only make these changes if the settings haven't been defined already if ($DBManager->GetSetting('DATABASE_HOST') == '') { $DBManager->DefineSetting("DATABASE_HOST", $DBHost, 1); $DBManager->DefineSetting("DATABASE_NAME", $DBName, 1); $DBManager->DefineSetting("DATABASE_USER", $DBUser, 1); $DBManager->DefineSetting("DATABASE_PASSWORD", $DBPass, 1); $DBManager->SaveSettingsToFile($DBFile); // Save the general settings as well (now that we know this person is authenticated to // a degree - knowing the database access params). $SettingsFile = $RootDirectory . 'conf/settings.php'; $SettingsManager = new ConfigurationManager($Context); $SettingsManager->DefineSetting('APPLICATION_PATH', $RootDirectory, 1); $SettingsManager->DefineSetting('DATABASE_PATH', $RootDirectory . 'conf/database.php', 1); $SettingsManager->DefineSetting('LIBRARY_PATH', $RootDirectory . 'library/', 1); $SettingsManager->DefineSetting('EXTENSIONS_PATH', $RootDirectory . 'extensions/', 1); $SettingsManager->DefineSetting('LANGUAGES_PATH', $RootDirectory . 'languages/', 1); $SettingsManager->DefineSetting('THEME_PATH', $RootDirectory . 'themes/vanilla/', 1); $SettingsManager->DefineSetting("DEFAULT_STYLE", $ThemeDirectory . 'vanilla/styles/default/', 1);
$s->AddFieldNameValue('RemoteIp', GetRemoteIp(1)); // Fail silently on this one @mysql_query($s->GetInsert(), $Connection); } // Create the default Vanilla style entry in the db $s->Clear(); $s->SetMainTable('Style', 's'); $s->AddFieldNameValue('Name', 'Vanilla'); $s->AddFieldNameValue('Url', $ThemeDirectory . 'vanilla modern/styles/default/'); @mysql_query($s->GetInsert(), $Connection); } // Close the database connection @mysql_close($Connection); // Save the application constants if ($Context->WarningCollector->Count() == 0) { $SettingsManager->DefineSetting('SUPPORT_EMAIL', $SupportEmail, 1); $SettingsManager->DefineSetting('SUPPORT_NAME', $SupportName, 1); $SettingsManager->DefineSetting('APPLICATION_TITLE', $ApplicationTitle, 1); $SettingsManager->DefineSetting('BANNER_TITLE', $ApplicationTitle, 1); $SettingsManager->DefineSetting('COOKIE_DOMAIN', $CookieDomain, 1); $SettingsManager->DefineSetting('COOKIE_PATH', $CookiePath, 1); $SettingsManager->DefineSetting('SETUP_COMPLETE', '1', 1); $SettingsManager->SaveSettingsToFile($SettingsFile); } } if ($Context->WarningCollector->Count() == 0) { // Redirect to the next step (this is done so that refreshes don't cause steps to be redone) Redirect($WebRoot . 'setup/installer.php?Step=4&PostBackAction=None'); } } // Write the page
} } if (!array_key_exists('NOTIFY_VERSION', $Configuration)) { AddConfigurationSetting($Context, 'NOTIFY_ALLOW_ALL', '1'); AddConfigurationSetting($Context, 'NOTIFY_ALLOW_DISCUSSION', '1'); AddConfigurationSetting($Context, 'NOTIFY_ALLOW_CATEGORY', '1'); AddConfigurationSetting($Context, 'NOTIFY_VERSION', '1.0.0'); if (!mysql_query("ALTER TABLE `" . $Context->Configuration['DATABASE_TABLE_PREFIX'] . "Category` ADD `Subscribeable` INT( 1 ) NOT NULL ;", $Context->Database->Connection)) { $Errors = 1; } } if ($Context->Configuration['NOTIFY_VERSION'] < '1.2.0') { AddConfigurationSetting($Context, 'NOTIFY_AUTO_ALL', '0'); $cm = new ConfigurationManager($Context); $cm->GetSettingsFromFile($Configuration['APPLICATION_PATH'] . 'conf/settings.php'); $cm->DefineSetting('NOTIFY_VERSION', '1.2.0'); $cm->SaveSettingsToFile($Configuration['APPLICATION_PATH'] . 'conf/settings.php'); } function CheckNotifySyntax($Context, $Method, $SelectID) { switch ($Method) { case 'ALL': if ($SelectID == 0) { return true; } else { return false; } case 'CATEGORY': if ($SelectID > 0) { $result = mysql_query("SELECT CategoryID FROM " . $Context->Configuration['DATABASE_TABLE_PREFIX'] . "Category WHERE CategoryID = '{$SelectID}'", $Context->Database->Connection); $row = mysql_fetch_row($result);
$s->AddFieldNameValue('RemoteIp', GetRemoteIp(1)); // Fail silently on this one @mysql_query($s->GetInsert(), $Connection); } // Create the default Vanilla style entry in the db $s->Clear(); $s->SetMainTable('Style', 's'); $s->AddFieldNameValue('Name', 'Vanilla'); $s->AddFieldNameValue('Url', $ThemeDirectory . 'vanilla/styles/default/'); @mysql_query($s->GetInsert(), $Connection); } // Close the database connection @mysql_close($Connection); // Save the application constants if ($Context->WarningCollector->Count() == 0) { $SettingsManager->DefineSetting("SUPPORT_EMAIL", $SupportEmail, 1); $SettingsManager->DefineSetting("SUPPORT_NAME", $SupportName, 1); $SettingsManager->DefineSetting("APPLICATION_TITLE", $ApplicationTitle, 1); $SettingsManager->DefineSetting("BANNER_TITLE", $ApplicationTitle, 1); $SettingsManager->DefineSetting("COOKIE_DOMAIN", $CookieDomain, 1); $SettingsManager->DefineSetting("COOKIE_PATH", $CookiePath, 1); $SettingsManager->DefineSetting("SETUP_COMPLETE", '1', 1); $SettingsManager->SaveSettingsToFile($SettingsFile); } } if ($Context->WarningCollector->Count() == 0) { // Redirect to the next step (this is done so that refreshes don't cause steps to be redone) header('location: ' . $WebRoot . 'setup/installer.php?Step=4&PostBackAction=None'); die; } }