<?php/*** Performs necessary actions to install singapore.** @author Tamlyn Rhodes <tam at zenology dot co dot uk>* @license http://opensource.org/licenses/gpl-license.php GNU General Public License* @copyright (c)2003, 2004 Tamlyn Rhodes* @version $Id: install.php,v 1.6 2006/02/04 02:12:12 tamlyn Exp $*///path to singapore root$basePath = "../";require_once "install.inc.php";require_once $basePath."includes/config.class.php";//determine current step in setup process$setupStep = isset($_REQUEST["step"]) ? $_REQUEST["step"] : "test";if($setupStep=="phpinfo") {phpinfo();exit;}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>singapore setup</title><link rel="stylesheet" type="text/css" href="../docs/docstyle.css" /></head><body><?php//if file is parsed by php then this block will never be executedif(false) {?></p><h1>Oh dear...</h1><p>PHP is not installed or is not configured correctly. See the<a href="http://www.php.net/manual/">PHP manual</a> for more information.<?php} //end php testswitch($setupStep) {case "test" :setupHeader("Step 1 of 2: Test Server");setupMessage("Attempting to find out if your server is capable of running singapore");setupMessage("No changes are made at this time");if(testServer()) {setupHeader("OK");setupMessage("All tests completed successfully");} else {setupHeader("Oops!");setupError("One or more problems were encountered. You may want to fix them and <a href=\"install.php?step=test\">retry this step</a>");}echo '<br /><a href="index.html"><< Previous: welcome</a>';echo ' | <a href="install.php?step=phpinfo">View PHP configuration</a>';echo ' | <a href="install.php?step=database">Next: setup database >></a>';//echo ' | <a href="index.html">Finish</a>';//echo ' | <a href="install.php?step=directories">Next: create directories >></a>';break;case "directories" :setupHeader("Step 2 of 3: Create Directories");setupMessage("Setup will now create the directories necessary to store thumbnails and logs");//create config object$config = new sgConfig($basePath."singapore.ini");$config->pathto_logs = $config->pathto_data_dir."logs/";$config->pathto_cache = $config->pathto_data_dir."cache/";$config->base_path = $basePath;if(createDirectories($config)) {setupHeader("OK");setupMessage("This step completed successfully");} else {setupHeader("Oops!");setupError('There was a problem. Please fix it and <a href="install.php?step=directories">retry this step</a>');}echo '<br /><a href="install.php?step=test"><< Previous: test server</a>';echo ' | <a href="install.php?step=database">Next: setup database >></a>';break;case "database" :setupHeader("Step 2 of 2: Setup Database");//create config object$config =& sgConfig::getInstance();$config->loadConfig($basePath."singapore.ini");$config->base_path = $basePath;switch($config->io_handler) {case "csv" :setupMessage("The default CSV file database does not require any further setting up");setupHeader("OK");setupMessage("This step completed successfully");break;case "mysql" :include_once $basePath."includes/io_mysql.class.php";$config->loadConfig($basePath."secret.ini.php");setupMessage("Setup will now create the tables necessary to run singapore on a MySQL database");setupHeader("Connecting to database");$io = new sgIO_mysql();if(!$io) setupError("Error connecting to database. Please ensure database settings are correct");if(sqlCreateTables($io)) {setupHeader("OK");setupMessage("This step completed successfully");} else {setupHeader("Oops!");setupError('There was a problem. Please fix it and <a href="install.php?step=database">retry this step</a>');}break;case "sqlite" :include_once $basePath."includes/io_sqlite.class.php";setupMessage("Setup will now create the database and tables necessary to run singapore on SQLite");setupHeader("Opening database file");$io = new sgIO_sqlite();if(!$io) {setupError("Error connecting to database. Please ensure database settings are correct");break;} else setupMessage("Success");if(sqlCreateTables($io)) {setupHeader("OK");setupMessage("This step completed successfully");} else {setupHeader("Oops!");setupError('There was a problem. Please fix it and <a href="install.php?step=database">retry this step</a>');}break;default :setupError("Unrecognised io_handler.");}setupMessage("Don't forget to delete or protect this <code>install</code> directory to prevent unauthorised access");echo '<br /><a href="install.php?step=test"><< Previous: test server</a>';//echo '<br /><a href="install.php?step=directories"><< Previous: create directories</a>';echo ' | <a href="index.html">Finish</a>';break;}?></body></html>