]> dev.renevier.net Git - syp.git/blobdiff - inc/templates_wizard.php
password is defined by user in wizard + localize wizard
[syp.git] / inc / templates_wizard.php
diff --git a/inc/templates_wizard.php b/inc/templates_wizard.php
new file mode 100644 (file)
index 0000000..f556991
--- /dev/null
@@ -0,0 +1,124 @@
+<?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>