Changeset 90494 in spip-zone


Ignore:
Timestamp:
Jun 24, 2015, 6:00:57 PM (6 years ago)
Author:
cedric@…
Message:

revert de r90490 qui a tout machouille ce fichier

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/saisies_fonctions.php

    r90490 r90494  
    22
    33/**
    4  * Déclaration de fonctions pour les squelettes.
    5  **/
    6 if (!defined('_ECRIRE_INC_VERSION')) {
    7     return;
    8 }
     4 * Déclaration de fonctions pour les squelettes
     5 *
     6 * @package SPIP\Saisies\Fonctions
     7**/
     8
     9if (!defined('_ECRIRE_INC_VERSION')) return;
    910
    1011include_spip('inc/saisies');
     
    1415
    1516/**
     17 * A partir de SPIP 3.1
     18 * - ul.editer-groupe deviennent des div.editer-groupe
     19 * - li.editer devient div.editer
     20 * @param $tag
     21 *   ul ou li
     22 * @return string
     23 *   $tag initial ou div
     24 */
     25function saisie_balise_structure_formulaire($tag){
     26        static $is_div=null;
     27        if (is_null($is_div)){
     28                $version = explode(".",$GLOBALS['spip_version_branche']);
     29                if ($version[0]>3 OR ($version[0]==3 AND $version[1]>0))
     30                        $is_div = true;
     31        }
     32        if ($is_div) return "div";
     33        return $tag;
     34}
     35
     36/**
    1637 * Traiter la valeur de la vue en fonction du env
    1738 * si un traitement a ete fait en amont (champs extra) ne rien faire
    18  * si pas de traitement defini (formidable) passer typo ou propre selon le type du champ.
     39 * si pas de traitement defini (formidable) passer typo ou propre selon le type du champ
    1940 *
    2041 * @param string $valeur
    2142 * @param string|array $env
    22  *
    2343 * @return string
    2444 */
    25 function saisie_traitement_vue($valeur, $env)
    26 {
    27     if (is_string($env)) {
    28         $env = unserialize($env);
    29     }
    30     if (!function_exists('propre')) {
    31         include_spip('inc/texte');
    32     }
     45function saisie_traitement_vue($valeur,$env){
     46        if (is_string($env))
     47                $env = unserialize($env);
     48        if (!function_exists('propre'))
     49                include_spip('inc/texte');
    3350
    34     $valeur = trim($valeur);
     51        $valeur = trim($valeur);
    3552
    36     // si traitement est renseigne, alors le champ est deja mis en forme
    37     // (saisies)
    38     // sinon on fait une mise en forme smart
    39     if ($valeur and !isset($env['traitements'])) {
    40         if (in_array($env['type_saisie'], array('textarea'))) {
    41             $valeur = propre($valeur);
    42         } else {
    43             $valeur = '<p>'.typo($valeur).'</p>';
    44         }
    45     }
     53        // si traitement est renseigne, alors le champ est deja mis en forme
     54        // (saisies)
     55        // sinon on fait une mise en forme smart
     56        if ($valeur and !isset($env['traitements'])) {
     57                if (in_array($env['type_saisie'], array('textarea'))) {
     58                        $valeur = propre($valeur);
     59                }
     60                else {
     61                        $valeur = "<p>" . typo($valeur) . "</p>";
     62                }
     63        }
    4664
    47     return $valeur;
     65        return $valeur;
    4866}
    4967
    5068/**
    51  * Passer un nom en une valeur compatible avec une classe css.
    52  *
     69 * Passer un nom en une valeur compatible avec une classe css
     70 * 
    5371 * - toto => toto,
    5472 * - toto/truc => toto_truc,
     
    5775 * @param string $nom
    5876 * return string
    59  **/
    60 function saisie_nom2classe($nom)
    61 {
    62     return str_replace(array('/', '[', ']', '&#91;', '&#93;'), array('_', '_', '', '_', ''), $nom);
     77**/
     78function saisie_nom2classe($nom) {
     79        return str_replace(array('/', '[', ']', '&#91;', '&#93;'), array('_', '_', '', '_', ''), $nom);
    6380}
    6481
    6582/**
    66  * Passer un nom en une valeur compatible avec un `name` de formulaire.
    67  *
     83 * Passer un nom en une valeur compatible avec un `name` de formulaire
     84 * 
    6885 * - toto => toto,
    6986 * - toto/truc => toto[truc],
     
    7289 * @param string $nom
    7390 * return string
    74  **/
    75 function saisie_nom2name($nom)
    76 {
    77     if (false === strpos($nom, '/')) {
    78         return $nom;
    79     }
    80     $nom = explode('/', $nom);
    81     $premier = array_shift($nom);
    82     $nom = implode('][', $nom);
    83 
    84     return $premier.'['.$nom.']';
     91**/
     92function saisie_nom2name($nom) {
     93        if (false === strpos($nom, '/')) {
     94                return $nom;
     95        }
     96        $nom = explode('/', $nom);
     97        $premier = array_shift($nom);
     98        $nom = implode('][', $nom);
     99        return $premier . '[' . $nom . ']';
    85100}
    86101
    87102/**
    88  * Compile la balise `#GLOBALS{xxx}` qui retourne la valeur d'une vilaine variable globale de même nom si elle existe.
     103 * Compile la balise `#GLOBALS{xxx}` qui retourne la valeur d'une vilaine variable globale de même nom si elle existe
    89104 *
    90105 * @example
     
    92107 *     #GLOBALS{debut_intertitre}
    93108 *     ```
    94  *
     109 * 
    95110 * @param Champ $p
    96111 *     Pile au niveau de la balise
    97  *
    98112 * @return Champ
    99113 *     Pile complétée du code php de la balise.
    100  **/
    101 function balise_GLOBALS_dist($p)
    102 {
    103     if (function_exists('balise_ENV')) {
    104         return balise_ENV($p, '$GLOBALS');
    105     } else {
    106         return balise_ENV_dist($p, '$GLOBALS');
    107     }
     114**/
     115function balise_GLOBALS_dist($p) {
     116        if (function_exists('balise_ENV'))
     117                return balise_ENV($p, '$GLOBALS');
     118        else
     119                return balise_ENV_dist($p, '$GLOBALS');
    108120}
    109121
    110122/**
    111  * Liste les éléments du sélecteur générique triés.
     123 * Liste les éléments du sélecteur générique triés
    112124 *
    113125 * Les éléments sont triés par objets puis par identifiants
    114  *
     126 * 
    115127 * @example
    116128 *     L'entrée :
     
    125137 * @param string $selected
    126138 *     Liste des objets sélectionnés
    127  *
    128139 * @return array
    129140 *     Liste des objets triés
    130  **/
    131 function picker_selected_par_objet($selected)
    132 {
    133     $res = array();
    134     $liste = picker_selected($selected);
    135     // $liste : la sortie dans le désordre
    136     if (!$liste) {
    137         return $res;
    138     }
     141**/
     142function picker_selected_par_objet($selected) {
     143        $res = array();
     144        $liste = picker_selected($selected);
     145        // $liste : la sortie dans le désordre
     146        if (!$liste) {
     147                return $res;
     148        }
    139149
    140     foreach ($liste as $l) {
    141         if (!isset($res[ $l['objet'] ])) {
    142             $res[ $l['objet'] ] = array();
    143         }
    144         $res[$l['objet']][] = $l['id_objet'];
    145     }
    146     // $res est trié par objet, puis par identifiant
    147     ksort($res);
    148     foreach ($res as $objet => $ids) {
    149         sort($res[$objet]);
    150     }
     150        foreach ($liste as $l) {
     151                if (!isset($res[ $l['objet'] ])) {
     152                        $res[ $l['objet'] ] = array();
     153                }
     154                $res[$l['objet']][] = $l['id_objet'];
     155        }
     156        // $res est trié par objet, puis par identifiant
     157        ksort($res);
     158        foreach ($res as $objet => $ids) {
     159                sort($res[$objet]);
     160        }
    151161
    152     // on remet tout en file
    153     $liste = array();
    154     foreach ($res as $objet => $ids) {
    155         foreach ($ids as $id) {
    156             $liste[] = array('objet' => $objet, 'id_objet' => $id);
    157         }
    158     }
     162        // on remet tout en file
     163        $liste = array();
     164        foreach ($res as $objet=>$ids) {
     165                foreach ($ids as $id) {
     166                        $liste[] = array('objet' => $objet, 'id_objet' => $id);
     167                }
     168        }
    159169
    160     return $liste;
     170        return $liste;
    161171}
    162 
    163 /**
    164  * Lister les objets qui ont une url_edit renseignée et qui sont éditables.
    165  *
    166  * @return array Liste des objets :
    167  *               index : nom de la table (spip_articles, spip_breves, etc.)
    168  *               'type' : le type de l'objet ;
    169  *               'url_edit' : l'url d'édition de l'objet ;
    170  *               'texte_objets' : le nom humain de l'objet éditorial.
    171  */
    172 function lister_tables_objets_edit()
    173 {
    174     include_spip('base/abstract_sql');
    175 
    176     $objets = lister_tables_objets_sql();
    177     $objets_edit = array();
    178 
    179     foreach ($objets as $objet => $definition) {
    180         if (isset($definition['editable']) and isset($definition['url_edit']) and $definition['url_edit'] != '') {
    181             $objets_edit[$objet] = array('type' => $definition['type'], 'url_edit' => $definition['url_edit'], 'texte_objets' => $definition['texte_objets']);
    182         }
    183     }
    184     $objets_edit = array_filter($objets_edit);
    185 
    186     return $objets_edit;
    187 }
Note: See TracChangeset for help on using the changeset viewer.