]> dev.renevier.net Git - syp.git/blob - wizard.php
real api and clearer separation between server and client
[syp.git] / wizard.php
1 <?php
2 /* Copyright (c) 2009 Arnaud Renevier, Inc, published under the modified BSD
3    license. */
4 ?>
5 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
6        "http://www.w3.org/TR/html4/loose.dtd">  
7 <html>
8 <head>
9       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
10       <link rel="stylesheet" href="./media/common.css" type="text/css" />
11       <title>SYP wizard</title>
12 </head>
13 <body>
14
15 <?php
16     function wiz_success ($message) {
17         printf ("<p class=\"success center\">%s</p>", $message);
18     }
19     function wiz_error ($message) {
20         exit (sprintf ("<p class=\"error center\">%s</p>", $message));
21     }
22     function wiz_warn ($message) {
23         printf ("<p class=\"warn center\">%s</p>", $message);
24     }
25
26     if (version_compare (PHP_VERSION, '5.0.0', '<')) {
27         wiz_error ("Vous devez utiliser une version de PHP au moins égale à la version 5");
28     }
29
30     if (!function_exists ("exif_read_data")) {
31         wiz_warn ("Cette version de php ne supporte pas la lecture des données exif");
32     }
33
34     require_once ("./inc/settings.php");
35     require_once ("./inc/db/mysql.php");
36
37     try {
38         $connection->connect (DBHOST, DBUSER, DBPWD, DBNAME, DBPREFIX);
39     } catch (Exception $e) {
40         switch ($e->getMessage ()) {
41             case anydbConnection::err_driver_unavailable:
42                 wiz_error ('Support de ' . $connection->getdbname () . ' non détecté.');
43             case anydbConnection::err_connection:
44                 wiz_error ('Impossible de se connecter à la base de donnée.');
45             case anydbConnection::err_unknown_database:
46                 wiz_error ('La base de donnée n\'existe pas.');
47             default:
48                 wiz_error ('Erreur inconnue lors de la connexion à la base.');
49         }
50     }
51     try {
52         $users_table_exists = $connection->users_table_exists ();
53     } catch(Exception $e) {
54         wiz_error ('Erreur inconnue lors de la vérification de la table utilisateur.');
55     }
56
57     if ($users_table_exists) {
58         wiz_success ('Table utilisateur trouvée.');
59     } else {
60         try {
61             $connection->create_users_table (true);
62         } catch (Exception $e) {
63             wiz_error ('Erreur lors de la création de la table utilisateur.');
64         }
65         wiz_success ('Table utilisateur crée.');
66         try {
67             $connection->setpwd ("admin", ADMINPWD);
68         } catch (Exception $e) {
69             wiz_error ('Erreur lors de l\'initialisation du mot de passe.');
70         }
71         wiz_success ('Mot de passe administrateur initialisé.');
72     }
73
74     try {
75         $items_table_exists = $connection->items_table_exists ();
76     } catch (Exception $e) {
77         wiz_error ('Erreur inconnue lors de la vérification de la table des données.');
78     }
79     if ($items_table_exists) {
80         wiz_success ('Table utilisateur trouvée.');
81     } else {
82         try {
83             $connection->create_items_table (true);
84         } catch (Exception $e) {
85             wiz_error ('Erreur lors de la création de la table des données.');
86         }
87         wiz_success ('Table des données crée.');
88     }
89     if (!is_dir (UPLOADDIR)) {
90         if (file_exists (UPLOADDIR)) {
91             wiz_error (sprintf ("%s existe et n'est pas un répertoire.",
92                                 UPLOADDIR));
93         }
94         if (!mkdir (UPLOADDIR)) {
95             wiz_error (sprintf ("Impossible de créer le répertoire %s.",
96                                 UPLOADDIR));
97         } else {
98             wiz_success (sprintf ('Répertoire %s crée.', UPLOADDIR));
99         }
100     }
101     if (!is_writeable (UPLOADDIR) || !is_executable (UPLOADDIR)) {
102         wiz_error (sprintf ("Impossible d'écrire dans %s.", UPLOADDIR));
103     }
104     wiz_success ('SYP est installé. Vous pouvez maintenant vous rendre dans <a href="admin.php">la partie administration.');
105 ?>
106
107 </body>
108 </html>