[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / prive / formulaires / configurer_metas.php
index 86021a8..3b99ecd 100644 (file)
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-if (!defined('_ECRIRE_INC_VERSION')) return;
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
 
-function formulaires_configurer_metas_charger_dist($form)
-{
+function formulaires_configurer_metas_charger_dist($form) {
        $f = charger_fonction('charger', "formulaires/$form", true);
-       if ($f)
+       if ($f) {
                return $f($form);
-       else {
+       else {
                $infos = formulaires_configurer_metas_infos($form);
-               if (!is_array($infos)) return $infos;
+               if (!is_array($infos)) {
+                       return $infos;
+               }
+
                return $GLOBALS[$infos['meta']];
        }
 }
 
-function formulaires_configurer_metas_verifier_dist($form)
-{
+function formulaires_configurer_metas_verifier_dist($form) {
        $f = charger_fonction('verifier', "formulaires/$form", true);
+
        return $f ? $f($form) : array();
 }
 
-function formulaires_configurer_metas_traiter_dist($form)
-{
+function formulaires_configurer_metas_traiter_dist($form) {
        $f = charger_fonction('traiter', "formulaires/$form", true);
-       if ($f)
+       if ($f) {
                return $f($form);
-       else {
+       else {
                $infos = formulaires_configurer_metas_infos($form);
-               if (!is_array($infos)) return $infos; // fait ci-dessus en fait
+               if (!is_array($infos)) {
+                       return $infos;
+               } // fait ci-dessus en fait
                $vars = formulaires_configurer_metas_recense($infos['path'], PREG_PATTERN_ORDER);
                $meta = $infos['meta'];
                foreach (array_unique($vars[2]) as $k) {
                        $v = _request($k);
                        ecrire_meta($k, is_array($v) ? serialise($v) : $v, 'oui', $meta);
                }
+
                return !isset($infos['prefix']) ? array()
-               : array('redirect' => generer_url_ecrire($infos['prefix']));
+                       : array('redirect' => generer_url_ecrire($infos['prefix']));
        }
 }
 
 // version amelioree de la RegExp de cfg_formulaire.
-define('_EXTRAIRE_SAISIES', 
-       '#<(select|textarea|input)[^>]*\sname=["\'](\w+)(\[\w*\])?["\'](?: class=["\']([^\'"]*)["\'])?( multiple=)?[^>]*?>#ims');
+define(
+       '_EXTRAIRE_SAISIES',
+       '#<(select|textarea|input)[^>]*\sname=["\'](\w+)(\[\w*\])?["\'](?: class=["\']([^\'"]*)["\'])?( multiple=)?[^>]*?>#ims'
+);
 
 // determiner la liste des noms des saisies d'un formulaire
 // (a refaire avec SAX)
-function formulaires_configurer_metas_recense($form, $opt='')
-{
-       if (!$opt) $opt = PREG_SET_ORDER;
+function formulaires_configurer_metas_recense($form, $opt = '') {
+       if (!$opt) {
+               $opt = PREG_SET_ORDER;
+       }
        $f = file_get_contents($form);
-       if ($f AND preg_match_all(_EXTRAIRE_SAISIES, $f, $r, $opt))
+       if ($f and preg_match_all(_EXTRAIRE_SAISIES, $f, $r, $opt)) {
                return $r;
-       else return array();
+       } else {
+               return array();
+       }
 }
 
-// Repertoires potentiels des plugins, ce serait bien d'avoir ça ailleurs
+// Repertoires potentiels des plugins, ce serait bien d'avoir ça ailleurs
 // ca n'est pas lie a cette balise
 // Attention a l'ordre:
 // si l'un des 3 est un sous-rep d'un autre, le mettre avant.
 
-define('_EXTRAIRE_PLUGIN', '@(' .  _DIR_PLUGINS_AUTO . '|' . _DIR_PLUGINS . '|' . _DIR_PLUGINS_DIST .')/?([^/]+)/@');
+define('_EXTRAIRE_PLUGIN', '@(' . _DIR_PLUGINS_AUTO . '|' . _DIR_PLUGINS . '|' . _DIR_PLUGINS_DIST . ')/?([^/]+)/@');
 
 // Recuperer la version compilee de plugin.xml et normaliser
 // Si ce n'est pas un plugin, dire qu'il faut prendre la table std des meta.
-function formulaires_configurer_metas_infos($form){
+function formulaires_configurer_metas_infos($form) {
 
-       $path = find_in_path($form.'.' . _EXTENSION_SQUELETTES, 'formulaires/');
-       if (!$path) return ''; // cas traite en amont normalement.
-       if (!preg_match(_EXTRAIRE_PLUGIN, $path, $m))
+       $path = find_in_path($form . '.' . _EXTENSION_SQUELETTES, 'formulaires/');
+       if (!$path) {
+               return '';
+       } // cas traite en amont normalement.
+       if (!preg_match(_EXTRAIRE_PLUGIN, $path, $m)) {
                return array('path' => $path, 'meta' => 'meta');
+       }
        $plugin = $m[2];
-       $get_infos = charger_fonction('get_infos','plugins');
+       $get_infos = charger_fonction('get_infos', 'plugins');
        $infos = $get_infos($plugin, false, $m[1]);
-       if (!is_array($infos)) return _T('erreur_plugin_nom_manquant');
-       if (isset($infos['erreur'])) return $infos['erreur'][0];
+       if (!is_array($infos)) {
+               return _T('erreur_plugin_nom_manquant');
+       }
+       if (isset($infos['erreur'])) {
+               return $infos['erreur'][0];
+       }
        $prefix = $infos['prefix'];
        $infos['path'] = $path;
-       if (!isset($infos['meta'])) $infos['meta'] = ($prefix . '_metas');
+       if (!isset($infos['meta'])) {
+               $infos['meta'] = ($prefix . '_metas');
+       }
+
        return $infos;
 }
-?>