3 class mtweb_xml_version_0_11_2 extends mw_data_version{
13 $sgbd = $data->sgbd();
15 /* ---------------------------------------------------------------------- */
17 /* devient actions_roles */
18 /* element id_status devient id_role */
20 if(!$sgbd->data_exists("actions_roles")){
21 if(!$sgbd->create_data("actions_roles")){
22 return "impossible de créer la table actions_roles";
25 if($sgbd->data_exists("action_status")){
26 $action_status = array();
27 if($rst = $sgbd->open_data("action_status")){
28 while($v_rst = $sgbd->fetch_data($rst)){
30 $action_status[$v_rst["id"]] = $v_rst;
33 $action_status = false;
37 $sgbd->close_data($rst);
40 return "impossible d'ouvrir la table action_status, dans ".get_class($this);
42 if($action_status === false){
43 return "impossible de lire la table action_status, dans ".get_class($this);
46 foreach($action_status as $status){
51 "action" => $status["action"],
52 "id_role" => $status["id_status"]
56 return "erreur lors de la migration de action_status vers actions_roles";
60 if(!$sgbd->remove_data("action_status")){
61 return "impossible de supprimer la table action_status";
66 /* ---------------------------------------------------------------------- */
68 /* elements key et value */
72 if($rst = $sgbd->open_data("config")){
73 while($v_rst = $sgbd->fetch_data($rst)){
75 if(!isset($v_rst["key"]) || !isset($v_rst["value"])){
78 foreach($v_rst as $key => $value){
81 $config_value = $value;
92 "value" => $config_value
107 $sgbd->close_data($rst);
110 return "impossible d'ouvrir la table config, dans ".get_class($this);
113 return "impossible de mettre à jour la table config, dans ".get_class($this);
116 /* ---------------------------------------------------------------------- */
120 if(!$sgbd->data_exists("roles")){
121 if(!$sgbd->create_data("roles")){
122 return "impossible de creer la table roles, dans ".get_class($this);
127 $res = $sgbd->add_data(
131 "intitule" => "invité"
135 if(!isset($res)) $ERROR = true;
142 "intitule" => "administrateur"
151 "intitule" => "membre"
159 "nom" => "webmaster",
160 "intitule" => "webmaster"
166 return "impossible de remplir la table roles, dans ".get_class($this);
170 if($sgbd->data_exists("user_status")){
171 if(!$sgbd->remove_data("user_status")){
172 return "impossible de supprimer la table user_status";
176 /* ---------------------------------------------------------------------- */
177 /* nouvelle table users_roles */
178 /* importer users.status dans users_roles.id_role */
180 if(!$sgbd->data_exists("users_roles")){
181 if(!$sgbd->create_data("users_roles")){
182 return "impossible de creer la table users_roles, dans ".get_class($this);
185 if($rst = $sgbd->open_data("users")){
186 while($v_rst = $sgbd->fetch_data($rst)){
188 if(isset($v_rst["status"])){
193 "id_user" => $v_rst["id"],
194 "id_role" => $v_rst["status"]
208 $sgbd->close_data($rst);
211 return "impossible d'ouvrir la table users, dans ".get_class($this);
214 return "impossible de remplir la table users_roles, dans ".get_class($this);
218 /* ---------------------------------------------------------------------- */
219 /* nouvelle table versions */
222 if(!$sgbd->data_exists("versions")){
223 if(!$sgbd->create_data("versions")){
224 return "impossible de creer la table versions, dans ".get_class($this);
228 /* ---------------------------------------------------------------------- */
229 /* mise a jour de la version des donnees */
232 if(!($env_version = $env->version("mtweb"))){
233 return "impossible de lire la version du code, dans ".get_class($this);
236 $data_version = $data->data_read(
238 "table_name" => "versions",
239 "index_name" => "application",
240 "index_value" => "mtweb"
249 "version" => $this->version()
253 return "impossible de mettre à jour la version, dans ".get_class($this);
261 "application" => "mtweb",
262 "version" => $this->version()
266 return "impossible d'ajouter la version, dans ".get_class($this);