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";
69 return "impossible d'ajouter la protection d'accès webmaster dans actions_roles";
71 if(!$sgbd->remove_data("action_status")){
72 return "impossible de supprimer la table action_status, dans ".get_class($this);
77 /* ---------------------------------------------------------------------- */
79 /* elements key et value */
83 if($rst = $sgbd->open_data("config")){
84 while($v_rst = $sgbd->fetch_data($rst)){
86 if(!isset($v_rst["key"]) || !isset($v_rst["value"])){
89 foreach($v_rst as $key => $value){
92 $config_value = $value;
102 "key" => $config_key,
103 "value" => $config_value
118 $sgbd->close_data($rst);
121 return "impossible d'ouvrir la table config";
124 return "impossible de mettre à jour la table config";
127 /* ---------------------------------------------------------------------- */
131 if(!$sgbd->data_exists("roles")){
132 if(!$sgbd->create_data("roles")){
133 return "impossible de creer la table roles";
138 $res = $sgbd->add_data(
142 "intitule" => "invité"
146 if(!isset($res)) $ERROR = true;
153 "intitule" => "administrateur"
162 "intitule" => "membre"
170 "nom" => "webmaster",
171 "intitule" => "webmaster"
177 return "impossible de remplir la table roles";
181 if($sgbd->data_exists("user_status")){
182 if(!$sgbd->remove_data("user_status")){
183 return "impossible de supprimer la table user_status";
187 /* ---------------------------------------------------------------------- */
188 /* nouvelle table users_roles */
189 /* importer users.status dans users_roles.id_role */
191 if(!$sgbd->data_exists("users_roles")){
192 if(!$sgbd->create_data("users_roles")){
193 return "impossible de creer la table users_roles";
196 if($rst = $sgbd->open_data("users")){
197 while($v_rst = $sgbd->fetch_data($rst)){
199 if(isset($v_rst["status"])){
204 "id_user" => $v_rst["id"],
205 "id_role" => $v_rst["status"]
219 $sgbd->close_data($rst);
222 return "impossible d'ouvrir la table users";
225 return "impossible de remplir la table users_roles";
229 /* ---------------------------------------------------------------------- */
230 /* nouvelle table versions */
233 if(!$sgbd->data_exists("versions")){
234 if(!$sgbd->create_data("versions")){
235 return "impossible de creer la table versions";