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";
42 if($action_status === false){
43 return "impossible de lire la table action_status";
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, dans ".get_class($this);
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";
113 return "impossible de mettre à jour la table config";
116 /* ---------------------------------------------------------------------- */
120 if(!$sgbd->data_exists("roles")){
121 if(!$sgbd->create_data("roles")){
122 return "impossible de creer la table roles";
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";
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";
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";
214 return "impossible de remplir la table users_roles";
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";