[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / cfg / action / crayons_config_store.php
diff --git a/www/plugins/auto/cfg/action/crayons_config_store.php b/www/plugins/auto/cfg/action/crayons_config_store.php
new file mode 100644 (file)
index 0000000..66694c6
--- /dev/null
@@ -0,0 +1,74 @@
+<?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