0,0 → 1,151 |
<?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 executed |
if(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 test |
|
switch($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> |