You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
menus/menus_administrations.php

165 lines
4.3 KiB
PHTML

7 years ago
<?php
// Sécurité
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
include_spip('inc/meta');
// Installation et mise à jour
function menus_upgrade($nom_meta_version_base, $version_cible) {
$maj = array();
$maj['create'] = array(
array('creer_base'),
array(
'ecrire_config',
'menus/entrees_masquees',
array('rubriques', 'groupe_mots', 'mapage', 'deconnecter', 'secteurlangue')
)
);
$maj['0.5.0'] = array(
array('sql_alter', "TABLE spip_menus ADD COLUMN css tinytext DEFAULT '' NOT NULL")
);
$maj['0.5.1'] = array(
array(
'sql_updateq',
'spip_menus_entrees',
array(
'type_entree' => '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')),
);
7 years ago
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');
7 years ago
// On efface la version enregistrée
effacer_meta($nom_meta_version_base);
// On efface la config
effacer_meta('menus');
}