--- /dev/null
+<?php\r
+/**\r
+ * Plugin générique de configuration pour SPIP\r
+ *\r
+ * @license GNU/GPL\r
+ * @package plugins\r
+ * @subpackage cfg\r
+ * @category outils\r
+ * @copyright (c) toggg, marcimat 2007-2008\r
+ * @link http://www.spip-contrib.net/\r
+ * @version $Id: crayons_config_store.php 53409 2011-10-13 20:42:57Z yffic@lefourneau.com $\r
+ */\r
+if (!defined("_ECRIRE_INC_VERSION")) return;\r
+\r
+\r
+/**\r
+ * on reprend la fonction de {@link http://zone.spip.org/trac/spip-zone/browser/_plugins_/crayons/action/crayons_store.php crayons}...\r
+ * \r
+ * @return Array\r
+ */\r
+function action_crayons_config_store_dist() {\r
+ include_spip('cfg_fonctions');\r
+ include_spip('action/crayons_store');\r
+ // on donne une autre fonction de traitement des donnees\r
+ return action_crayons_store_args('crayons_config_store');\r
+}\r
+\r
+/**\r
+ * pour le traitement, on appelle {@link http://zone.spip.org/trac/spip-zone/browser/_plugins_/crayons/action/crayons_store.php crayons_store} avec 2 fonctions\r
+ * - la premiere pour recuperer la valeur avant modification\r
+ * - la seconde pour realiser les modifications \r
+ * \r
+ * @return Array\r
+ */\r
+function crayons_config_store() {\r
+ $options = array(\r
+ 'f_get_valeur' => 'crayons_config_store_get_valeur',\r
+ 'f_set_modifs' => 'crayons_config_store_set_modifs');\r
+ return crayons_store($options);\r
+}\r
+\r
+/**\r
+ * recuperer la valeur de la config demandee\r
+ * \r
+ * @param mixed $content # inutilisé\r
+ * @param Array $regs\r
+ * @return Array\r
+ */\r
+function crayons_config_store_get_valeur($content, $regs) {\r
+ list(,$crayon,$type,$modele,$id) = $regs;\r
+ $config = cfg_crayon2config($modele);\r
+ $val = lire_config($config);\r
+ return array('config' => $val); \r
+}\r
+\r
+/**\r
+ * sauver les modifications de configs\r
+ *\r
+ * @param Array $modifs\r
+ * @param Array $return\r
+ * @return Array\r
+ */\r
+function crayons_config_store_set_modifs($modifs, $return) {\r
+ foreach ($modifs as $modif) {\r
+ list($type, $modele, $id, $content, $wid) = $modif;\r
+ $config = cfg_crayon2config($modele);\r
+ ecrire_config($config, $content['config']);\r
+ }\r
+ return $return;\r
+}\r
+\r
+\r
+\r
+?>\r