PSR SPIP
parent
7ae5c359a8
commit
609ecc6c4c
@ -1,141 +1,156 @@
|
||||
<?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'),
|
||||
);
|
||||
|
||||
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');
|
||||
|
||||
// On efface la version enregistrée
|
||||
effacer_meta($nom_meta_version_base);
|
||||
// On efface la config
|
||||
effacer_meta('menus');
|
||||
}
|
||||
|
||||
?>
|
||||
<?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'),
|
||||
);
|
||||
|
||||
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');
|
||||
|
||||
// On efface la version enregistrée
|
||||
effacer_meta($nom_meta_version_base);
|
||||
// On efface la config
|
||||
effacer_meta('menus');
|
||||
}
|
||||
|
@ -1,154 +1,163 @@
|
||||
<?php
|
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||
|
||||
/*
|
||||
* function menus_ieconfig_metas
|
||||
* Pipeline ieconfig pour l'import/export desmetas du plugin menu
|
||||
*
|
||||
* @param array $table
|
||||
* @return array
|
||||
*
|
||||
*/
|
||||
function menus_ieconfig_metas($table) {
|
||||
$table['menus_meta']['titre'] = _T('paquet-menus:menus_titre');
|
||||
$table['menus_meta']['icone'] = 'prive/themes/spip/images/menu-16.png';
|
||||
$table['menus_meta']['metas_serialize'] = 'menus';
|
||||
return $table;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pipeline ieconfig pour l'import/export des menus
|
||||
*
|
||||
* @param array $flux
|
||||
* @return array
|
||||
*/
|
||||
function menus_ieconfig($flux){
|
||||
include_spip('inc/texte');
|
||||
$action = $flux['args']['action'];
|
||||
|
||||
// Formulaire d'export
|
||||
if ($action=='form_export') {
|
||||
$saisies = array(
|
||||
array(
|
||||
'saisie' => 'fieldset',
|
||||
'options' => array(
|
||||
'nom' => 'menus_export',
|
||||
'label' => '<:menus:editer_menus_titre:>',
|
||||
'icone' => 'menu-16.png'
|
||||
),
|
||||
'saisies' => array(
|
||||
array(
|
||||
'saisie' => 'menus_multiple',
|
||||
'options' => array(
|
||||
'nom' => 'menus_a_exporter',
|
||||
'label' => '<:menus:formulaire_ieconfig_menus_a_exporter:>',
|
||||
'cacher_option_intro' => 'oui'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
$flux['data'] = array_merge($flux['data'],$saisies);
|
||||
}
|
||||
|
||||
// Tableau d'export
|
||||
if ($action=='export' && is_array(_request('menus_a_exporter')) && count(_request('menus_a_exporter'))>0) {
|
||||
$flux['data']['menus'] = array();
|
||||
include_spip('base/abstract_sql');
|
||||
include_spip('action/exporter_menu');
|
||||
foreach (_request('menus_a_exporter') as $identifiant) {
|
||||
$menu = sql_fetsel(array('id_menu','titre','css'),'spip_menus','identifiant = '.sql_quote($identifiant));
|
||||
$id_menu = $menu['id_menu'];
|
||||
unset($menu['id_menu']);
|
||||
$menu['entrees'] = exporter_menu_recursif($id_menu);
|
||||
$flux['data']['menus'][$identifiant] = $menu;
|
||||
}
|
||||
}
|
||||
|
||||
// Formulaire d'import
|
||||
if ($action=='form_import' && isset($flux['args']['config']['menus']) && is_array($flux['args']['config']['menus']) && count($flux['args']['config']['menus'])>0) {
|
||||
$saisies = array(
|
||||
array(
|
||||
'saisie' => 'fieldset',
|
||||
'options' => array(
|
||||
'nom' => 'menus_import',
|
||||
'label' => '<:menus:editer_menus_titre:>',
|
||||
'icone' => 'menu-16.png'
|
||||
),
|
||||
'saisies' => array(
|
||||
array(
|
||||
'saisie' => 'explication',
|
||||
'options' => array(
|
||||
'nom' => 'menus_import_explication',
|
||||
'texte' => '<:menus:formulaire_ieconfig_choisir_menus_a_importer:>'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
foreach ($flux['args']['config']['menus'] as $identifiant => $menu) {
|
||||
if (sql_countsel('spip_menus','identifiant = '.sql_quote($identifiant))>0) {
|
||||
$saisies[0]['saisies'][] = array(
|
||||
'saisie' => 'selection',
|
||||
'options' => array(
|
||||
'nom' => 'menus_importer_'.$identifiant,
|
||||
'label' => $identifiant.(isset($menu['titre']) ? ' ('.typo($menu['titre']).')' : ''),
|
||||
'cacher_option_intro' => 'oui',
|
||||
'attention' => '<:menus:formulaire_ieconfig_menu_meme_identifiant:>',
|
||||
'datas' => array(
|
||||
'non' => '<:menus:formulaire_ieconfig_ne_pas_importer:>',
|
||||
'renommer' => '<:menus:formulaire_ieconfig_renommer:>',
|
||||
'remplacer' => '<:menus:formulaire_ieconfig_remplacer:>'
|
||||
)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
$saisies[0]['saisies'][] = array(
|
||||
'saisie' => 'selection',
|
||||
'options' => array(
|
||||
'nom' => 'menus_importer_'.$identifiant,
|
||||
'label' => $identifiant.(isset($menu['titre']) ? ' ('.typo($menu['titre']).')' : ''),
|
||||
'cacher_option_intro' => 'oui',
|
||||
'datas' => array(
|
||||
'non' => '<:menus:formulaire_ieconfig_ne_pas_importer:>',
|
||||
'importer' => '<:menus:formulaire_ieconfig_importer:>'
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
$flux['data'] = array_merge($flux['data'],$saisies);
|
||||
}
|
||||
|
||||
// Import de la configuration
|
||||
if ($action=='import' && isset($flux['args']['config']['menus']) && is_array($flux['args']['config']['menus']) && count($flux['args']['config']['menus'])>0) {
|
||||
foreach ($flux['args']['config']['menus'] as $identifiant => $menu) {
|
||||
$choix = _request('menus_importer_'.$identifiant);
|
||||
include_spip('base/abstract_sql');
|
||||
include_spip('inc/menus');
|
||||
include_spip('action/editer_menu');
|
||||
if ($choix == 'remplacer') {
|
||||
$id_menu = intval(sql_getfetsel('id_menu','spip_menus','identifiant = '.sql_quote($identifiant)));
|
||||
menus_supprimer_menu($id_menu);
|
||||
}
|
||||
if ($choix == 'renommer')
|
||||
$identifiant = $identifiant.'_'.time();
|
||||
if (in_array($choix,array('importer','remplacer','renommer'))) {
|
||||
$titre = isset($menu['titre']) ? $menu['titre'] : '';
|
||||
$css = isset($menu['css']) ? $menu['css'] : '';
|
||||
$id_menu = sql_insertq('spip_menus',array(
|
||||
'identifiant' => $identifiant,
|
||||
'titre' => $titre,
|
||||
'css' => $css
|
||||
));
|
||||
if (isset($menu['entrees']))
|
||||
menus_importer($menu['entrees'], $id_menu);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return($flux);
|
||||
}
|
||||
|
||||
?>
|
||||
<?php
|
||||
/**
|
||||
* Plugin Menus
|
||||
*/
|
||||
|
||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* function menus_ieconfig_metas
|
||||
* Pipeline ieconfig pour l'import/export desmetas du plugin menu
|
||||
*
|
||||
* @param array $table
|
||||
* @return array
|
||||
*
|
||||
*/
|
||||
function menus_ieconfig_metas($table) {
|
||||
$table['menus_meta']['titre'] = _T('paquet-menus:menus_titre');
|
||||
$table['menus_meta']['icone'] = 'prive/themes/spip/images/menu-16.png';
|
||||
$table['menus_meta']['metas_serialize'] = 'menus';
|
||||
return $table;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pipeline ieconfig pour l'import/export des menus
|
||||
*
|
||||
* @param array $flux
|
||||
* @return array
|
||||
*/
|
||||
function menus_ieconfig($flux) {
|
||||
include_spip('inc/texte');
|
||||
$action = $flux['args']['action'];
|
||||
|
||||
// Formulaire d'export
|
||||
if ($action=='form_export') {
|
||||
$saisies = array(
|
||||
array(
|
||||
'saisie' => 'fieldset',
|
||||
'options' => array(
|
||||
'nom' => 'menus_export',
|
||||
'label' => '<:menus:editer_menus_titre:>',
|
||||
'icone' => 'menu-16.png'
|
||||
),
|
||||
'saisies' => array(
|
||||
array(
|
||||
'saisie' => 'menus_multiple',
|
||||
'options' => array(
|
||||
'nom' => 'menus_a_exporter',
|
||||
'label' => '<:menus:formulaire_ieconfig_menus_a_exporter:>',
|
||||
'cacher_option_intro' => 'oui'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
$flux['data'] = array_merge($flux['data'], $saisies);
|
||||
}
|
||||
|
||||
// Tableau d'export
|
||||
if ($action=='export' && is_array(_request('menus_a_exporter')) && count(_request('menus_a_exporter'))>0) {
|
||||
$flux['data']['menus'] = array();
|
||||
include_spip('base/abstract_sql');
|
||||
include_spip('action/exporter_menu');
|
||||
foreach (_request('menus_a_exporter') as $identifiant) {
|
||||
$menu = sql_fetsel(array('id_menu','titre','css'), 'spip_menus', 'identifiant = '.sql_quote($identifiant));
|
||||
$id_menu = $menu['id_menu'];
|
||||
unset($menu['id_menu']);
|
||||
$menu['entrees'] = exporter_menu_recursif($id_menu);
|
||||
$flux['data']['menus'][$identifiant] = $menu;
|
||||
}
|
||||
}
|
||||
|
||||
// Formulaire d'import
|
||||
if ($action=='form_import' && isset($flux['args']['config']['menus'])
|
||||
&& is_array($flux['args']['config']['menus']) && count($flux['args']['config']['menus']) > 0) {
|
||||
$saisies = array(
|
||||
array(
|
||||
'saisie' => 'fieldset',
|
||||
'options' => array(
|
||||
'nom' => 'menus_import',
|
||||
'label' => '<:menus:editer_menus_titre:>',
|
||||
'icone' => 'menu-16.png'
|
||||
),
|
||||
'saisies' => array(
|
||||
array(
|
||||
'saisie' => 'explication',
|
||||
'options' => array(
|
||||
'nom' => 'menus_import_explication',
|
||||
'texte' => '<:menus:formulaire_ieconfig_choisir_menus_a_importer:>'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
foreach ($flux['args']['config']['menus'] as $identifiant => $menu) {
|
||||
if (sql_countsel('spip_menus', 'identifiant = '.sql_quote($identifiant)) > 0) {
|
||||
$saisies[0]['saisies'][] = array(
|
||||
'saisie' => 'selection',
|
||||
'options' => array(
|
||||
'nom' => 'menus_importer_'.$identifiant,
|
||||
'label' => $identifiant.(isset($menu['titre']) ? ' ('.typo($menu['titre']).')' : ''),
|
||||
'cacher_option_intro' => 'oui',
|
||||
'attention' => '<:menus:formulaire_ieconfig_menu_meme_identifiant:>',
|
||||
'datas' => array(
|
||||
'non' => '<:menus:formulaire_ieconfig_ne_pas_importer:>',
|
||||
'renommer' => '<:menus:formulaire_ieconfig_renommer:>',
|
||||
'remplacer' => '<:menus:formulaire_ieconfig_remplacer:>'
|
||||
)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
$saisies[0]['saisies'][] = array(
|
||||
'saisie' => 'selection',
|
||||
'options' => array(
|
||||
'nom' => 'menus_importer_'.$identifiant,
|
||||
'label' => $identifiant.(isset($menu['titre']) ? ' ('.typo($menu['titre']).')' : ''),
|
||||
'cacher_option_intro' => 'oui',
|
||||
'datas' => array(
|
||||
'non' => '<:menus:formulaire_ieconfig_ne_pas_importer:>',
|
||||
'importer' => '<:menus:formulaire_ieconfig_importer:>'
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
$flux['data'] = array_merge($flux['data'], $saisies);
|
||||
}
|
||||
|
||||
// Import de la configuration
|
||||
if ($action=='import' && isset($flux['args']['config']['menus'])
|
||||
&& is_array($flux['args']['config']['menus']) && count($flux['args']['config']['menus']) > 0) {
|
||||
foreach ($flux['args']['config']['menus'] as $identifiant => $menu) {
|
||||
$choix = _request('menus_importer_'.$identifiant);
|
||||
include_spip('base/abstract_sql');
|
||||
include_spip('inc/menus');
|
||||
include_spip('action/editer_menu');
|
||||
if ($choix == 'remplacer') {
|
||||
$id_menu = sql_getfetsel('id_menu', 'spip_menus', 'identifiant = '.sql_quote($identifiant));
|
||||
menus_supprimer_menu(intval($id_menu));
|
||||
}
|
||||
if ($choix == 'renommer') {
|
||||
$identifiant = $identifiant.'_'.time();
|
||||
}
|
||||
if (in_array($choix, array('importer','remplacer','renommer'))) {
|
||||
$titre = isset($menu['titre']) ? $menu['titre'] : '';
|
||||
$css = isset($menu['css']) ? $menu['css'] : '';
|
||||
$id_menu = sql_insertq(
|
||||
'spip_menus',
|
||||
array(
|
||||
'identifiant' => $identifiant,
|
||||
'titre' => $titre,
|
||||
'css' => $css
|
||||
)
|
||||
);
|
||||
if (isset($menu['entrees'])) {
|
||||
menus_importer($menu['entrees'], $id_menu);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return($flux);
|
||||
}
|
||||
|
Loading…
Reference in New Issue