3 class mw_data_xml_install extends mw_data{
5 public function install_xml($params){
9 $host = isset($params["host"]) ? $params["host"] : "";
10 $base = isset($params["base"]) ? $params["base"] : "";
11 $user = isset($params["user"]) ? $params["user"] : "";
12 $password = isset($params["password"]) ? $params["password"] : "";
13 if(!$host || !$base) return "paramètres manquant pour la base XML";
14 $host .= substr($host, -1) == "/" ? "" : "/";
16 $parent_dir = dirname($host);
17 if(is_dir($parent_dir)) @mkdir($host);
18 if(!is_dir($host)) return "impossible de créer le répertoire des données XML";
20 $base_dir = $host.$base;
21 if(!is_dir($base_dir)) @mkdir($base_dir);
22 if(!is_dir($base_dir)) return "impossible de créer le dossier de la base XML";
23 $base .= substr($base, -1) == "/" ? "" : "/";
31 || !$sgbd->select_db($base)
33 return "impossible de se connecter à la base XML";
35 if(!($version = $env->version("mtweb"))){
36 return "impossible de lire la version de mtweb";
40 if(!$ERROR && !$EXISTS) $EXISTS = $sgbd->data_exists("actions_roles");
41 $ERROR = !isset($EXISTS);
42 if(!$ERROR && !$EXISTS) $EXISTS = $sgbd->data_exists("config");
43 $ERROR = !isset($EXISTS);
44 if(!$ERROR && !$EXISTS) $EXISTS = $sgbd->data_exists("roles");
45 $ERROR = !isset($EXISTS);
46 if(!$ERROR && !$EXISTS) $EXISTS = $sgbd->data_exists("users");
47 $ERROR = !isset($EXISTS);
48 if(!$ERROR && !$EXISTS) $EXISTS = $sgbd->data_exists("users_roles");
49 $ERROR = !isset($EXISTS);
50 if(!$ERROR && !$EXISTS) $EXISTS = $sgbd->data_exists("versions");
51 $ERROR = !isset($EXISTS);
53 return "impossible de savoir si les tables existent deja";
56 return "des tables a installer existent deja en base. installation annulee";
58 if(!$ERROR) if(!$sgbd->create_data("actions_roles")) $ERROR = true;
59 if(!$ERROR) if(!$sgbd->create_data("config")) $ERROR = true;
60 if(!$ERROR) if(!$sgbd->create_data("roles")) $ERROR = true;
61 if(!$ERROR) if(!$sgbd->create_data("users")) $ERROR = true;
62 if(!$ERROR) if(!$sgbd->create_data("users_roles")) $ERROR = true;
63 if(!$ERROR) if(!$sgbd->create_data("versions")) $ERROR = true;
65 return "imposible de creer les tables en base";
68 // ------------------------------------ actions_roles
91 "action" => "users/identification",
100 "action" => "config",
106 // ------------------------------------ config
111 "key" => "site_name",
129 "key" => "description",
147 "key" => "start_action",
156 "key" => "contact_form",
183 "key" => "start_action_params",
192 "key" => "out_navig_menu_top",
201 "key" => "out_colonne",
210 "key" => "default_allow",
216 // ------------------------------------ roles
218 $res = $sgbd->add_data(
222 "intitule" => "invité"
226 if(!isset($res)) $ERROR = true;
233 "intitule" => "administrateur"
242 "intitule" => "membre"
250 "nom" => "webmaster",
251 "intitule" => "webmaster"
256 // ------------------------------------ versions
258 $res = $sgbd->add_data(
261 "application" => "mtweb",
262 "version" => $version
266 if(!isset($res)) $ERROR = true;
270 return "les tables ont ete ajoutees en base mais impossible d'y enregistrer les valeurs par defaut.";