+<?php
+/* Copyright (c) 2009 Arnaud Renevier, Inc, published under the modified BSD
+ license. */
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
+ <link rel="stylesheet" href="./media/common.css" type="text/css" />
+ <title><?php ptrans ('SYP wizard')?></title>
+ <script type="text/javascript">
+ function init () {
+ if (document.getElementById('password')) {
+ document.getElementById('password').focus();
+ document.getElementById('password').select();
+ }
+ </script>
+</head>
+<body onload="init()">
+
+<?php
+ function leave () {
+ exit ("\n</body></html>");
+ }
+ function wiz_success ($message) {
+ printf ("<p class=\"success center\">%s</p>", $message);
+ }
+ function wiz_error ($message) {
+ printf ("<p class=\"error center\">%s</p>", $message);
+ leave ();
+ }
+ function wiz_warn ($message) {
+ printf ("<p class=\"warn center\">%s</p>", $message);
+ }
+
+ if (version_compare (PHP_VERSION, '5.0.0', '<')) {
+ wiz_error (trans ("You need at least PHP version 5"));
+ }
+
+ require_once ("./inc/settings.php");
+ require_once ("./inc/db/mysql.php");
+
+ try {
+ $connection->connect (DBHOST, DBUSER, DBPWD, DBNAME, DBPREFIX);
+ } catch (Exception $e) {
+ switch ($e->getMessage ()) {
+ case anydbConnection::err_driver_unavailable:
+ wiz_error ($connection->getdbname() . ': ' . trans ('not supported'));
+ case anydbConnection::err_connection:
+ wiz_error (trans ('Could not connect to database.'));
+ case anydbConnection::err_unknown_database:
+ wiz_error (trans ('Database does not exist.'));
+ default:
+ wiz_error (trans ('Unknown error when connecting to database.'));
+ }
+ }
+ try {
+ $users_table_exists = $connection->users_table_exists ();
+ } catch(Exception $e) {
+ wiz_error (trans ('Unknown error when checking user table.'));
+ }
+
+ if ($users_table_exists) {
+ wiz_success (trans ('Found user table.'));
+ } else {
+ if (isset($_POST ["password"])) {
+ try {
+ $connection->create_users_table (true);
+ } catch (Exception $e) {
+ wiz_error (trans ('Error when creating user table.'));
+ }
+ wiz_success (trans ('User table created.'));
+ try {
+ $connection->setpwd ("admin", $_POST ["password"]);
+ } catch (Exception $e) {
+ wiz_error (trans ('Error when initializing password.'));
+ }
+ wiz_success (trans ('Admin password initialized.'));
+
+ } else {
+ print ('<form class="center" method="post" action="">
+ <label for="password">' . trans ("choose admin password") . '</label>
+ <input id="password" name="password" type="password">
+ <input type="submit">
+ </form>');
+ leave ();
+ }
+
+ }
+
+ try {
+ $items_table_exists = $connection->items_table_exists ();
+ } catch (Exception $e) {
+ wiz_error (trans ('Unknown error when checking data table.'));
+ }
+ if ($items_table_exists) {
+ wiz_success (trans ('Found data table.'));
+ } else {
+ try {
+ $connection->create_items_table (true);
+ } catch (Exception $e) {
+ wiz_error (trans ('Error when creating data table.'));
+ }
+ wiz_success (trans ('Data table created.'));
+ }
+ if (!is_dir (UPLOADDIR)) {
+ if (file_exists (UPLOADDIR)) {
+ wiz_error (UPLOADDIR . ": " . trans ('exist but is not a directory'));
+ }
+ if (!mkdir (UPLOADDIR)) {
+ wiz_error (UPLOADDIR . ": " . trans ('could not create directory'));
+ } else {
+ wiz_success (UPLOADDIR . ": " . trans ('directory created'));
+ }
+ }
+ if (!is_writeable (UPLOADDIR) || !is_executable (UPLOADDIR)) {
+ wiz_error (UPLOADDIR . ": " . trans ('could not write in directory'));
+ }
+ wiz_success (trans ('SYP is installed. You can now go to <a href="admin.en.php">admin area</a>'));
+?>
+
+</body>
+</html>