'rubriques_completes' ), 'type_entree = '.sql_quote('rubriques') ) ); $maj['0.5.2'] = array( array('menus_fusionne_critere_tri_inverse'), ); $maj['0.5.3'] = array( array('menus_fusionne_critere_tri_num_alpha'), ); // Ajout table de liens (où est passé le 0.5.4 ?) $maj['0.5.5'] = array( array('maj_tables', array('spip_menus_liens')), ); $maj['0.5.6'] = array( array('maj_tables', array('spip_menus', 'spip_menus_entrees')), ); include_spip('base/upgrade'); maj_plugin($nom_meta_version_base, $version_cible, $maj); } function menus_fusionne_critere_tri_num_alpha() { $res = sql_select('*', 'spip_menus_entrees', '', '', 'id_menus_entree'); while ($row = sql_fetch($res)) { #var_dump($row); $params = unserialize($row['parametres']); $change = false; if (isset($params['tri_num']) and isset($params['tri_alpha'])) { $tri = ''; if (strlen($params['tri_num'])) { $tri = 'num '.trim($params['tri_num']); $tri = str_replace('num !', '!num ', $tri); } else { $tri = trim($params['tri_alpha']); } $params['tri'] = $tri; unset($params['tri_num']); unset($params['tri_alpha']); $change = true; } if (isset($params['tri_num_articles']) and isset($params['tri_alpha_articles'])) { $tri = ''; if (strlen($params['tri_num_articles'])) { $tri = 'num '.trim($params['tri_num_articles']); $tri = str_replace('num !', '!num ', $tri); } else { $tri = trim($params['tri_alpha_articles']); } $params['tri_articles'] = $tri; unset($params['tri_num_articles']); unset($params['tri_alpha_articles']); $change = true; } if ($change) { #var_dump($params); $params = serialize($params); sql_updateq( 'spip_menus_entrees', array('parametres' => $params), 'id_menus_entree='.intval($row['id_menus_entree']) ); } } } function menus_fusionne_critere_tri_inverse() { $res = sql_select('*', 'spip_menus_entrees', '', '', 'id_menus_entree'); while ($row = sql_fetch($res)) { #var_dump($row); $params = unserialize($row['parametres']); $change = false; if (isset($params['tri_num_inverse']) and $params['tri_num_inverse']=='oui' and strlen($params['tri_num'])) { $params['tri_num'] = '!'.$params['tri_num']; $change = true; unset($params['tri_num_inverse']); } if (isset($params['tri_alpha_inverse']) and $params['tri_alpha_inverse'] == 'oui' and strlen($params['tri_alpha'])) { $params['tri_alpha'] = '!'.$params['tri_alpha']; $change = true; unset($params['tri_alpha_inverse']); } if (isset($params['tri_num_articles_inverse']) and $params['tri_num_articles_inverse']=='oui' and strlen($params['tri_num_articles'])) { $params['tri_num_articles'] = '!'.$params['tri_num_articles']; $change = true; unset($params['tri_num_articles_inverse']); } if (isset($params['tri_alpha_articles_inverse']) and $params['tri_alpha_articles_inverse']=='oui' and strlen($params['tri_alpha_articles'])) { $params['tri_alpha_articles'] = '!'.$params['tri_alpha_articles']; $change = true; unset($params['tri_alpha_articles_inverse']); } if ($change) { $params = serialize($params); sql_updateq( 'spip_menus_entrees', array('parametres' => $params), 'id_menus_entree='.intval($row['id_menus_entree']) ); #var_dump($params); } } } // Désinstallation function menus_vider_tables($nom_meta_version_base) { include_spip('base/abstract_sql'); // On efface les tables du plugin sql_drop_table('spip_menus'); sql_drop_table('spip_menus_entrees'); sql_drop_table('spip_menus_liens'); // On efface la version enregistrée effacer_meta($nom_meta_version_base); // On efface la config effacer_meta('menus'); }