'rubriques_completes' ], 'type_entree = ' . sql_quote('rubriques') ] ]; $maj['0.5.2'] = [ ['menus_fusionne_critere_tri_inverse'], ]; $maj['0.5.3'] = [ ['menus_fusionne_critere_tri_num_alpha'], ]; // Ajout table de liens (où est passé le 0.5.4 ?) $maj['0.5.5'] = [ ['maj_tables', ['spip_menus_liens']], ]; $maj['0.5.6'] = [ ['maj_tables', ['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', ['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', ['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'); }