Dépôt officiel du core SPIP * Anciennement présent sur svn://trac.rezo.net/spip * Les plugins-dist faisant partie de la distribution SPIP sont présents dans https://git.spip.net/SPIP/[nom du plugin dist] https://www.spip.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

78 lines
2.8 KiB

<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Formulaire de configuration des préférences auteurs dans l'espace privé
*
* Ces préférences sont stockées dans la clé `prefs` dans la session de l'auteur
* en tant que tableau, ainsi que dans la colonne SQL `prefs` de spip_auteurs
* sous forme sérialisée.
*
* @package SPIP\Core\Formulaires
**/
include_spip('inc/bandeau');
include_spip('inc/filtres');
/**
* Chargement du formulaire de préférence des menus d'un auteur dans l'espace privé
*
* @return array
* Environnement du formulaire
**/
function formulaires_configurer_preferences_menus_charger_dist() {
// travailler sur des meta fraîches
include_spip('inc/meta');
lire_metas();
$valeurs = [];
$valeurs['activer_menudev'] = table_valeur($GLOBALS['visiteur_session'], 'prefs/activer_menudev', 'non');
$valeurs['menus_favoris'] = obtenir_menus_favoris();
return $valeurs;
}
/**
* Traitements du formulaire de préférence des menus d'un auteur dans l'espace privé
*
* @return array
* Retours des traitements
**/
function formulaires_configurer_preferences_menus_traiter_dist() {
$activer_menudev = _request('activer_menudev');
$menus_favoris = _request('menus_favoris');
$menus_favoris = array_filter($menus_favoris);
$menus_favoris = array_map('intval', $menus_favoris);
if (_request('reset')) {
$menus_favoris = [];
set_request('menus_favoris', null);
}
// si le menu dev change, ou les menus favoris, on recharge toute la page.
if (
table_valeur($GLOBALS['visiteur_session'], 'prefs/activer_menudev') != $activer_menudev
or $menus_favoris != obtenir_menus_favoris()
) {
refuser_traiter_formulaire_ajax();
$GLOBALS['visiteur_session']['prefs']['activer_menudev'] = $activer_menudev;
$GLOBALS['visiteur_session']['prefs']['menus_favoris'] = $menus_favoris;
if (intval($GLOBALS['visiteur_session']['id_auteur'])) {
include_spip('action/editer_auteur');
$c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
}
}
return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
}