Changeset 21231 in spip-zone


Ignore:
Timestamp:
Jul 4, 2008, 10:40:31 AM (11 years ago)
Author:
marcimat@…
Message:
  • Simplifier *_config() en se passant de la classe cfg_params()
  • les fonctions des balises sont chargées au calcul et non en permanence
Location:
_plugins_/_stable_/cfg
Files:
1 added
1 deleted
15 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/cfg/cfg/classes/cfg_couleur.php

    r19770 r21231  
    1414function cfg_charger_cfg_couleur($nom, &$cfg){
    1515
    16         $cfg->param->selecteur_couleur = 1;
     16        $cfg->param['selecteur_couleur'] = 1;
    1717        $cfg->ajouter_extension_parametre('selecteur_couleur');
    1818           
  • _plugins_/_stable_/cfg/cfg/classes/cfg_id.php

    r19724 r21231  
    2424        //
    2525        if (_request('_cfg_affiche')) {
    26                 $cfg->param->cfg_id = implode('/', array_map('_request', $cfg->champs_id));
     26                $cfg->param['cfg_id'] = implode('/', array_map('_request', $cfg->champs_id));
    2727        }
    2828           
     
    4848        if ($cfg->champs_id) {
    4949                $new_id = implode('/', array_map('_request', $cfg->champs_id));
    50                 if ($new_id != $cfg->param->cfg_id){
     50                if ($new_id != $cfg->param['cfg_id']){
    5151                        // si c'est un deplacement, on efface
    5252                        if (!_request('_cfg_copier')) {
     
    5656                                $cfg->val = $vals;
    5757                        }
    58                         $cfg->param->cfg_id = $new_id;
     58                        $cfg->param['cfg_id'] = $new_id;
    5959                        // recreer un depot avec le nouvel identifiant
    6060                        // (sinon les requetes ne creent pas les bons 'where')
    6161                        $cfg_depot = cfg_charger_classe('cfg_depot','inc');
    62                         $cfg->depot = new $cfg_depot($cfg->param->depot, $cfg->params);
     62                        $cfg->depot = new $cfg_depot($cfg->param['depot'], $cfg->params);
    6363                        // recharger le formulaire avec le nouvel identifiant (sinon les parametres
    6464                        // <!-- param=valeur --> de formulaires qui contienent
  • _plugins_/_stable_/cfg/cfg/depots/metapack.php

    r19796 r21231  
    3737        // charge la base (racine) et le point de l'arbre sur lequel on se trouve (ici)
    3838        function charger(){
    39                 $this->_base = is_array($c = $GLOBALS['meta'][$this->param->nom]) ? $c : @unserialize($c);
     39                $this->_base = is_array($c = $GLOBALS['meta'][$this->param['nom']]) ? $c : @unserialize($c);
    4040                $this->_arbre = array();
    4141                $this->_ici = &$this->_base;
    42         $this->_ici = &$this->monte_arbre($this->_ici, $this->param->casier);
    43         $this->_ici = &$this->monte_arbre($this->_ici, $this->param->cfg_id);
     42        $this->_ici = &$this->monte_arbre($this->_ici, $this->param['casier']);
     43        $this->_ici = &$this->monte_arbre($this->_ici, $this->param['cfg_id']);
    4444        return true;   
    4545        }
     
    5454       
    5555        // utile ??
    56         if ($this->param->cfg_id) {
    57                 $cles = explode('/', $this->param->cfg_id);
     56        if ($this->param['cfg_id']) {
     57                $cles = explode('/', $this->param['cfg_id']);
    5858                        foreach ($this->champs_id as $i => $name) {
    5959                                $ici[$name] = $cles[$i];
     
    8080                // si pas de champs : on ecrit directement (ecrire_meta(metapack::nom,$val))...
    8181                if (!$this->champs){
    82                         ecrire_meta($this->param->nom, serialize($this->val));
     82                        ecrire_meta($this->param['nom'], serialize($this->val));
    8383                        if (defined('_COMPAT_CFG_192')) ecrire_metas();
    8484                        return array(true, $this->val);
     
    9595                }
    9696
    97                 ecrire_meta($this->param->nom, serialize($this->_base));
     97                ecrire_meta($this->param['nom'], serialize($this->_base));
    9898                if (defined('_COMPAT_CFG_192')) ecrire_metas();
    9999                return array(true, $ici);
     
    105105                // si pas de champs : on supprime directement (effacer_meta(metapack::nom))...
    106106                if (!$this->champs){
    107                         effacer_meta($this->param->nom);
     107                        effacer_meta($this->param['nom']);
    108108                        if (defined('_COMPAT_CFG_192')) ecrire_metas();
    109109                        return array(true, array());
     
    130130               
    131131                if (!$this->_base) {
    132                     effacer_meta($this->param->nom);
     132                    effacer_meta($this->param['nom']);
    133133                } else {
    134                     ecrire_meta($this->param->nom, serialize($this->_base));
     134                    ecrire_meta($this->param['nom'], serialize($this->_base));
    135135            }           
    136136                if (defined('_COMPAT_CFG_192')) ecrire_metas();
     
    145145        function charger_args($args){
    146146                $args = explode('/',$args);
    147                 $this->param->nom = array_shift($args);
     147                $this->param['nom'] = array_shift($args);
    148148                if ($champ = array_pop($args)) {
    149149                        $this->champs = array($champ=>true);
    150150                }
    151                 $this->param->casier = implode('/',$args);
     151                $this->param['casier'] = implode('/',$args);
    152152                return true;   
    153153        }
  • _plugins_/_stable_/cfg/cfg/depots/php.php

    r21182 r21231  
    3232        }
    3333       
    34         // calcule l'emplacepent du fichier
     34        // calcule l'emplacement du fichier
    3535        function get_fichier(){
    3636                static $fichier = array();
    37                 $cle = $this->param->nom . ' - ' . $this->param->fichier;
     37                $cle = $this->param['nom'] . ' - ' . $this->param['fichier'];
    3838                if (isset($fichier[$cle]))
    3939                        return $fichier[$cle];
    4040               
    41                 if (!$this->param->fichier)
    42                         $f = _DIR_VAR . 'cfg/' . $this->param->nom . '.php';   
     41                if (!$this->param['fichier'])
     42                        $f = _DIR_VAR . 'cfg/' . $this->param['nom'] . '.php'; 
    4343                else
    44                         $f = _DIR_RACINE . $this->param->fichier;
     44                        $f = _DIR_RACINE . $this->param['fichier'];
    4545
    4646                include_spip('inc/flock');
     
    6363
    6464        $this->_ici = &$this->_base;
    65         $this->_ici = &$this->monte_arbre($this->_ici, $this->param->nom);
    66         $this->_ici = &$this->monte_arbre($this->_ici, $this->param->casier);
    67         $this->_ici = &$this->monte_arbre($this->_ici, $this->param->cfg_id);   
     65        $this->_ici = &$this->monte_arbre($this->_ici, $this->param['nom']);
     66        $this->_ici = &$this->monte_arbre($this->_ici, $this->param['casier']);
     67        $this->_ici = &$this->monte_arbre($this->_ici, $this->param['cfg_id']);
    6868        return true;
    6969        }
     
    7676               
    7777        // utile ??
    78         if ($this->param->cfg_id) {
    79                 $cles = explode('/', $this->param->cfg_id);
     78        if ($this->param['cfg_id']) {
     79                $cles = explode('/', $this->param['cfg_id']);
    8080                        foreach ($this->champs_id as $i => $name) {
    8181                                $this->_ici[$name] = $cles[$i];
     
    164164
    165165                $arbre = explode('/',$args);
    166                 $this->param->nom = array_shift($arbre);
     166                $this->param['nom'] = array_shift($arbre);
    167167                if ($champ = array_pop($arbre))
    168168                        $this->champs = array($champ=>true);
    169                 $this->param->casier = implode('/',$arbre);
     169                $this->param['casier'] = implode('/',$arbre);
    170170                return true;   
    171171        }
  • _plugins_/_stable_/cfg/cfg/depots/table.php

    r19674 r21231  
    3737                }
    3838               
    39                 if (!$this->param->table) {
     39                if (!$this->param['table']) {
    4040                        $this->messages['message_erreur'][] = _T('cfg:nom_table_manquant');
    4141                        return false;
     
    4343               
    4444                // colid : nom de la colonne primary key
    45                 list($this->param->table, $colid) = get_table_id($this->param->table);
     45                list($this->param['table'], $colid) = $this->get_table_id($this->param['table']);
    4646               
    4747                // renseigner les liens id=valeur
    48                 $id = explode('/',$this->param->cfg_id);
     48                $id = explode('/',$this->param['cfg_id']);
    4949                foreach ($colid as $n=>$c) {
    5050                        if (isset($id[$n])) {
     
    5656        // charge la base (racine) et le point de l'arbre sur lequel on se trouve (ici)
    5757        function charger($creer = false){
    58                 if (!$this->param->cfg_id AND !($this->param->autoriser_absence_id == 'oui')) {
     58                if (!$this->param['cfg_id'] AND !($this->param['autoriser_absence_id'] == 'oui')) {
    5959                        $this->messages['message_erreur'][] = _T('cfg:id_manquant');
    6060                        return false;
     
    8282                $this->_base = ($d = sql_fetsel(
    8383                        $this->_select,
    84                         $this->param->table,
     84                        $this->param['table'],
    8585                        $this->_where)) ? $d : array();
    8686               
     
    100100
    101101        // utile ??
    102         if ($this->param->cfg_id) {
    103                 $cles = explode('/', $this->param->cfg_id);
     102        if ($this->param['cfg_id']) {
     103                $cles = explode('/', $this->param['cfg_id']);
    104104                        foreach ($this->champs_id as $i => $name) {
    105105                                $this->_ici[$name] = $cles[$i];
     
    138138                // update
    139139                if ($this->_existe) {   
    140                     $ok = sql_updateq($this->param->table, $this->_ici, $this->_where );
     140                    $ok = sql_updateq($this->param['table'], $this->_ici, $this->_where );
    141141            } else {
    142                         $ok = $id = sql_insertq($this->param->table, $this->_ici);
     142                        $ok = $id = sql_insertq($this->param['table'], $this->_ici);
    143143            }
    144144
     
    159159                }
    160160               
    161                 $ok = !$this->_existe || sql_delete($this->param->table, $this->_where );       
     161                $ok = !$this->_existe || sql_delete($this->param['table'], $this->_where );     
    162162                return array($ok, array());
    163163        }
     
    171171                list($table, $id) = explode(':',$args,2);
    172172                list($table, $colonne) = explode('@',$table);
    173                 list($table, $colid) = get_table_id($table);
    174                
    175                 $this->param->cfg_id = $id;
    176                 $this->param->champs = $colonne ? array($colonne=>true) : '';
    177                 $this->param->table = $table ? $table : 'spip_cfg';
     173                list($table, $colid) = $this->get_table_id($table);
     174               
     175                $this->param['cfg_id'] = $id;
     176                $this->param['champs'] = $colonne ? array($colonne=>true) : '';
     177                $this->param['table'] = $table ? $table : 'spip_cfg';
    178178               
    179179                // renseigner les liens id=valeur
     
    213213       
    214214
     215        //
     216        // Cherche le vrai nom d'une table
     217        // ainsi que ses cles primaires
     218        //
     219        function get_table_id($table) {
     220                static $catab = array(
     221                        'tables_principales' => 'base/serial',
     222                        'tables_auxiliaires' => 'base/auxiliaires',
     223                );
     224                $try = array($table, 'spip_' . $table);
     225                foreach ($catab as $categ => $catinc) {
     226                        include_spip($catinc);
     227                        foreach ($try as $nom) {
     228                                if (isset($GLOBALS[$categ][$nom])) {
     229                                        return array($nom,
     230                                                preg_split('/\s*,\s*/', $GLOBALS[$categ][$nom]['key']['PRIMARY KEY']));
     231                                }
     232                        }
     233                }
     234                if ($try = table_objet($table)) {
     235                        return array('spip_' . $try, array(id_table_objet($table)));
     236                }
     237                return array(false, false);
     238        }
     239
    215240}
    216241
     
    218243
    219244
    220 // cfg_table retrouve et met a jour les donnees d'une table "objet" $cfg->table
    221 // ici, $cfg->cfg_id est obligatoire
    222 class cfg_table
    223 {
    224         function cfg_table(&$cfg, $opt = array())
    225         {
    226                 $this->cfg = &$cfg;
    227                 foreach ($opt as $o=>$v) {
    228                         $this->$o = $v;
    229                 }
    230                 $this->cfg->param->table || ($this->cfg->message = _T('cfg:nom_table_manquant'));
    231         }
    232        
    233 
    234         /*
    235          * Recuperer les valeurs
    236          *
    237          * Le parametre 'autoriser_absence_id=oui' permet d'autoriser
    238          * une requete sql d'insertion de nouveau contenu
    239          * meme si l'on ne donne pas la valeur du champs cle primaire (id)
    240          * ce qui permet d'executer la requete si le champ id est autoincrement.
    241          *
    242          * Si un message d'erreur est retourne, on ne peut
    243          * faire aucune modification.
    244          *
    245          */
    246         function lire()
    247         {
    248                 // si cfg_id n'est pas present,
    249                 // pas la peine de continuer
    250                 if (!$this->cfg->param->cfg_id) {
    251                         // ignorer cette erreur si le champ id est 'autoincrement'
    252                         if (!$this->cfg->param->autoriser_absence_id == 'oui')
    253                                 $this->cfg->message = _T('cfg:id_manquant');
    254                         return false;
    255                 }
    256 
    257                 $cles = explode('/', $this->cfg->param->cfg_id);
    258         $val = array();
    259         // selection des champs du select
    260                 $select = array();
    261                 foreach ($this->cfg->champs as $name => $def) {
    262                         if (isset($def['id'])) {
    263                                 continue;
    264                         }
    265                         $select[] = $name;
    266             }
    267                 $query = sql_select($select, $this->cfg->param->table, $this->where());
    268                 ($query = sql_fetch($query)) && ($val = $query);
    269 
    270                 foreach ($this->cfg->champs_id as $i => $name) {
    271                         $val[$name] = $cles[$i];
    272             }
    273 
    274             return $val;
    275         }
    276        
    277 // fabriquer un array WHERE depuis cfg_id
    278         function where()
    279         {
    280                 $cles = explode('/', $this->cfg->param->cfg_id);
    281                 $where = array();
    282                 foreach ($this->cfg->champs_id as $i => $name) {
    283                         $where[] = $name . '='
    284                                         . (is_numeric($cles[$i]) ? intval($cles[$i]) : sql_quote($cles[$i]));
    285             }
    286                 return $where;
    287         }
    288        
    289 // modifier le fragment qui peut etre tout le meta
    290         function modifier($supprimer = false)
    291         {
    292 
    293                 $this->cfg_id = $sep = '';
    294                 foreach ($this->cfg->champs_id as $name) {
    295                         $this->param->cfg_id .= $sep . _request($name);
    296                         $sep = '/';
    297             }
    298 
    299 
    300 
    301                
    302 
    303         }
    304 }
     245
     246
     247
    305248?>
  • _plugins_/_stable_/cfg/cfg/depots/tablepack.php

    r19674 r21231  
    3838                }       
    3939
    40                 if (!$this->param->colonne)     $this->param->colonne = 'cfg';
    41                 if (!$this->param->table)       $this->param->table = 'spip_auteurs';
     40                if (!$this->param['colonne'])   $this->param['colonne'] = 'cfg';
     41                if (!$this->param['table'])     $this->param['table'] = 'spip_auteurs';
    4242                // colid : nom de la colonne primary key
    43                 list($this->param->table, $colid) = get_table_id($this->param->table);
     43                list($this->param['table'], $colid) = $this->get_table_id($this->param['table']);
    4444               
    4545                // renseigner les liens id=valeur
    46                 $id = explode('/',$this->param->cfg_id);
     46                $id = explode('/',$this->param['cfg_id']);
    4747                foreach ($colid as $n=>$c) {
    4848                        if (isset($id[$n])) {
     
    5454        // charge la base (racine) et le point de l'arbre sur lequel on se trouve (ici)
    5555        function charger($creer = false){
    56                 if (!$this->param->cfg_id) {
     56                if (!$this->param['cfg_id']) {
    5757                        $this->messages['message_erreur'][] = _T('cfg:id_manquant');
    5858                        return false;
     
    6969                        }
    7070                       
    71                         $this->_base = ($d = sql_getfetsel($this->param->colonne, $this->param->table, $this->_where)) ? unserialize($d) : array();
     71                        $this->_base = ($d = sql_getfetsel($this->param['colonne'], $this->param['table'], $this->_where)) ? unserialize($d) : array();
    7272                }       
    7373               
    7474                $this->_arbre = array();
    7575                $this->_ici = &$this->_base;
    76         $this->_ici = &$this->monte_arbre($this->_ici, $this->param->nom);
    77         $this->_ici = &$this->monte_arbre($this->_ici, $this->param->casier);
     76        $this->_ici = &$this->monte_arbre($this->_ici, $this->param['nom']);
     77        $this->_ici = &$this->monte_arbre($this->_ici, $this->param['casier']);
    7878        return true;   
    7979        }
     
    8989
    9090        // utile ??
    91         if ($this->param->cfg_id) {
    92                 $cles = explode('/', $this->param->cfg_id);
     91        if ($this->param['cfg_id']) {
     92                $cles = explode('/', $this->param['cfg_id']);
    9393                        foreach ($this->champs_id as $i => $name) {
    9494                                $ici[$name] = $cles[$i];
     
    126126                }       
    127127
    128                 $ok = sql_updateq($this->param->table, array($this->param->colonne => serialize($this->_base)), $this->_where);
     128                $ok = sql_updateq($this->param['table'], array($this->param['colonne'] => serialize($this->_base)), $this->_where);     
    129129                return array($ok, $ici);
    130130        }
     
    156156                }
    157157               
    158                 $ok = sql_updateq($this->param->table, array($this->param->colonne => serialize($this->_base)), $this->_where);
     158                $ok = sql_updateq($this->param['table'], array($this->param['colonne'] => serialize($this->_base)), $this->_where);     
    159159                return array($ok, array());
    160160        }
     
    182182                        list($table, $id) = explode(':',array_shift($args),2);
    183183                        list($table, $colonne) = explode('@',$table);
    184                         list($table, $colid) = get_table_id($table);
    185                 }
    186                 $this->param->cfg_id = $id;
    187                 $this->param->colonne = $colonne ? $colonne : 'cfg';
    188                 $this->param->table = $table ? $table : 'spip_auteurs';
    189                 $this->param->nom = array_shift($args);
     184                        list($table, $colid) = $this->get_table_id($table);
     185                }
     186                $this->param['cfg_id'] = $id;
     187                $this->param['colonne'] = $colonne ? $colonne : 'cfg';
     188                $this->param['table'] = $table ? $table : 'spip_auteurs';
     189                $this->param['nom'] = array_shift($args);
    190190                if ($champ = array_pop($args)) {
    191191                        $this->champs = array($champ=>true);
    192192                }
    193                 $this->param->casier = implode('/',$args);
     193                $this->param['casier'] = implode('/',$args);
    194194               
    195195                // renseigner les liens id=valeur
     
    230230       
    231231        function verifier_colonne($creer = false) {
    232                 $col = sql_showtable($table = $this->param->table);
    233                 if (!array_key_exists($colonne = $this->param->colonne, $col['field'])) {
     232                $col = sql_showtable($table = $this->param['table']);
     233                if (!array_key_exists($colonne = $this->param['colonne'], $col['field'])) {
    234234                        if (!$creer){
    235235                                return false;
     
    245245                return true;
    246246        }
     247
     248       
     249        //
     250        // Cherche le vrai nom d'une table
     251        // ainsi que ses cles primaires
     252        //
     253        function get_table_id($table) {
     254                static $catab = array(
     255                        'tables_principales' => 'base/serial',
     256                        'tables_auxiliaires' => 'base/auxiliaires',
     257                );
     258                $try = array($table, 'spip_' . $table);
     259                foreach ($catab as $categ => $catinc) {
     260                        include_spip($catinc);
     261                        foreach ($try as $nom) {
     262                                if (isset($GLOBALS[$categ][$nom])) {
     263                                        return array($nom,
     264                                                preg_split('/\s*,\s*/', $GLOBALS[$categ][$nom]['key']['PRIMARY KEY']));
     265                                }
     266                        }
     267                }
     268                if ($try = table_objet($table)) {
     269                        return array('spip_' . $try, array(id_table_objet($table)));
     270                }
     271                return array(false, false);
     272        }
     273
    247274}
    248275
     276
    249277?>
  • _plugins_/_stable_/cfg/cfg/params/selecteur_couleur.php

    r19796 r21231  
    1515        $dir_lib = _DIR_LIB . 'farbtastic12/farbtastic/';
    1616        if (file_exists($lib = $dir_lib.'farbtastic.js')) {
    17                 $cfg->param->head .= "\n<script langage='javascript' src='$lib'></script>\n";
    18                 $cfg->param->head .= "
     17                $cfg->param['head'] .= "\n<script langage='javascript' src='$lib'></script>\n";
     18                $cfg->param['head'] .= "
    1919<link rel='stylesheet' href='".$dir_lib."farbtastic.css' type='text/css' />
    2020<style type='text/css'>
  • _plugins_/_stable_/cfg/cfg_options.php

    r19814 r21231  
    1818// inclure les fonctions lire_config(), ecrire_config() et effacer_config()
    1919include_spip('inc/cfg_config');
    20 // Inclure la balise #CFG_ARBO
    21 include_spip('balise/cfg_arbo');
    22 // Inclure les balises #CONFIG et #CFG_CHEMIN
    23 include_spip('balise/cfg_config');
    24 
    2520
    2621// _dir_lib possiblement utile
  • _plugins_/_stable_/cfg/cfg_pipeline.php

    r19463 r21231  
    4949                                sinon(_request('cfg_id'),''));
    5050       
    51         if ($config->param->head)
    52                 $flux .= "\n".$config->param->head;
     51        if ($config->param['head'])
     52                $flux .= "\n".$config->param['head'];
    5353       
    5454        return $flux;
  • _plugins_/_stable_/cfg/changelog.txt

    r21157 r21231  
    11Todo :
    22- rupture de compatibilité pour simplifier l'API de CFG et réduire son domaine d'action (essayer en même temps de faire un plugin 'cfg_etendu' afin de limiter la casse)
     3
     4v1.8.0 (04 07 2008)
     5- Simplifier *_config() en se passant de la classe cfg_params()
     6- les fonctions des balises sont chargées au calcul et non en permanence
    37
    48v1.7.6 (27 06 2008)
  • _plugins_/_stable_/cfg/inc/cfg.php

    r20395 r21231  
    8787
    8888                        if ($tmp->autoriser()){
    89                                 $args['onglet'] = $tmp->form->param->onglet;
     89                                $args['onglet'] = $tmp->form->param['onglet'];
    9090                                $args['url'] = generer_url_ecrire('cfg', 'cfg='.$fonds);
    9191                                // titre
    92                                 if (!$args['titre'] = $tmp->form->param->titre)
     92                                if (!$args['titre'] = $tmp->form->param['titre'])
    9393                                        $args['titre'] = $fonds;
    9494                                // icone       
    9595                                $path = dirname(dirname($cfg));
    9696                                $args['icone'] = '';
    97                                 if ($tmp->form->param->icone)
    98                                         $args['icone'] = $path.'/'.$tmp->form->param->icone;
     97                                if ($tmp->form->param['icone'])
     98                                        $args['icone'] = $path.'/'.$tmp->form->param['icone'];
    9999                                else if (file_exists($path.'/plugin.xml'))
    100100                                        $args['icone'] = 'plugin-24.gif';
     
    103103                               
    104104                                // l'afficher ?
    105                                 if ($tmp->form->param->onglet == 'oui')
     105                                if ($tmp->form->param['onglet'] == 'oui')
    106106                                        $args['afficher'] = true;
    107107                        }
     
    129129        function traiter()  {return $this->form->traiter();}
    130130       
    131         function get_titre(){ return $this->form->param->titre;}
    132         function get_nom()  { return $this->form->param->nom;}
     131        function get_titre(){ return $this->form->param['titre'];}
     132        function get_nom()  { return $this->form->param['nom'];}
    133133        function get_boite(){
    134                 if (!(($titre = $this->form->param->titre) && ($boite = $this->form->param->boite))){
    135                         $boite=($titre)?$titre: _T('icone_configuration_site') . ' ' . $this->form->param->nom;
     134                if (!(($titre = $this->form->param['titre']) && ($boite = $this->form->param['boite']))){
     135                        $boite=($titre)?$titre: _T('icone_configuration_site') . ' ' . $this->form->param['nom'];
    136136                }
    137137                return $boite;
     
    140140        // m'est avis que ca devrait virer cette 'presentation=auto'...
    141141        // c'est comme 'rediriger', il n'y a que le plugin 'autorite' qui l'utilise
    142         function get_presentation() { return $this->form->param->presentation;  }
     142        function get_presentation() { return $this->form->param['presentation'];        }
    143143       
    144144        //
     
    157157                $return = '';
    158158                // liens simples
    159                 foreach ($this->form->param->liens as $lien) {
     159                foreach ($this->form->param['liens'] as $lien) {
    160160                        $nom = _T($lien);
    161161                        $lien =  array_pop(explode(':',$lien)); // ne garder que la derniere partie de la chaine de langue
     
    192192        function liens_multi(){
    193193                // liens multiples
    194                 foreach ($this->form->param->liens_multi as $lien) {
     194                foreach ($this->form->param['liens_multi'] as $lien) {
    195195                        $nom = _T($lien);
    196196                        $lien =  array_pop(explode(':',$lien)); // ne garder que la derniere partie de la chaine de langue
     
    289289        // affiche le descriptif du formulaire
    290290        function descriptif(){
    291                 if ($d = $this->form->param->descriptif)
     291                if ($d = $this->form->param['descriptif'])
    292292                        return propre($d);     
    293293        }
     
    297297                include_spip('inc/minipres');
    298298                return minipres(_T('info_acces_refuse'),
    299                         $this->form->param->refus
    300                                 ? $this->form->param->refus
    301                                 : " (cfg {$this->form->param->nom} - {$this->form->vue} - {$this->form->param->cfg_id})");
     299                        $this->form->param['refus']
     300                                ? $this->form->param['refus']
     301                                : " (cfg {$this->form->param[nom]} - {$this->form->vue} - {$this->form->param[cfg_id]})");
    302302        }
    303303       
  • _plugins_/_stable_/cfg/inc/cfg_config.php

    r19764 r21231  
    100100        return $depot->effacer_config();       
    101101}
    102        
    103        
    104 
    105 //
    106 // Cherche le vrai nom d'une table
    107 // ainsi que ses cles primaires
    108 //
    109 function get_table_id($table) {
    110         static $catab = array(
    111                 'tables_principales' => 'base/serial',
    112                 'tables_auxiliaires' => 'base/auxiliaires',
    113         );
    114         $try = array($table, 'spip_' . $table);
    115         foreach ($catab as $categ => $catinc) {
    116                 include_spip($catinc);
    117                 foreach ($try as $nom) {
    118                         if (isset($GLOBALS[$categ][$nom])) {
    119                                 return array($nom,
    120                                         preg_split('/\s*,\s*/', $GLOBALS[$categ][$nom]['key']['PRIMARY KEY']));
    121                         }
    122                 }
    123         }
    124         if ($try = table_objet($table)) {
    125                 return array('spip_' . $try, array(id_table_objet($table)));
    126         }
    127         return array(false, false);
    128 }
    129102
    130103
  • _plugins_/_stable_/cfg/inc/cfg_depot.php

    r19770 r21231  
    4343        function cfg_depot_dist($depot='metapack', $params=array()){
    4444                if (!isset($params['param'])) {
    45                         $p = cfg_charger_classe('cfg_params');
    46                         $params['param'] = new $p;
     45                        $params['param'] = array();
    4746                }
    4847               
  • _plugins_/_stable_/cfg/inc/cfg_formulaire.php

    r20166 r21231  
    4747        function cfg_formulaire_dist($nom, $cfg_id = '', $opt = array())
    4848        {
    49                        
    50                 $cfg_params = cfg_charger_classe("cfg_params");
    51                 $this->param = &new $cfg_params();
    52                 $this->param->nom = $this->vue = $nom;
    53                 $this->param->cfg_id = $cfg_id;
     49                $this->param = array(
     50                        'afficher_messages' => true, // afficher ce compte rendu ?
     51                        'autoriser' => 'configurer',    // le "faire" de autoriser($faire), par defaut, autoriser_configurer_dist()     
     52                        'autoriser_absence_id' => 'non', // autoriser l'insertion de nouveau contenu dans une table sans donner d'identifiant ?
     53                        'casier' => '', // sous tableau optionel du meta ou va etre stocke le fragment de config
     54                        'cfg_id' => '', // pour une config multiple , l'id courant
     55                        'descriptif' => '', // descriptif
     56                        'depot' => 'metapack', // (ancien 'storage') le depot utilise pour stocker les donnees, par defaut metapack: spip_meta serialise
     57                        'fichier' => '', // pour storage php, c'est l'adresse du fichier (depuis la racine de spip), sinon ca prend /local/cfg/nom.php
     58                        'head' => '', // partie du fond cfg a inserer dans le head par le pipeline header_prive (todo insert_head?)
     59                        'icone' => '', // lien pour une icone
     60                        'liens' => array(), // liens optionnels sur des sous-config <!-- liens*=xxx -->
     61                        'liens_multi' => array(), // liens optionnels sur des sous-config pour des fonds utilisant un champ multiple  <!-- liens_multi*=xxx -->
     62                        'nom' => '', // le nom du meta (ou autre) ou va etre stocke la config concernee
     63                        'onglet' => 'oui', // cfg doit-il afficher un lien vers le fond sous forme d'onglet dans la page ?exec=cfg
     64                        'presentation' => 'auto', // cfg doit-il encadrer le formulaire tout seul ?
     65                        'refus' => '', // en cas de refus d'autorisation, un message informatif [(#REM) refus=...]
     66                        'table' => '', // nom de la table sql pour storage extra ou table
     67                );
     68                $this->param['nom'] = $this->vue = $nom;
     69                $this->param['cfg_id'] = $cfg_id;
    5470               
    5571                // definition de l'alias params
     
    6884                $this->charger();
    6985        }
    70        
     86
     87               
    7188        // retourne true en cas d'erreur...
    7289        function erreurs(){
     
    105122                 
    106123                // creer le storage et lire les valeurs
    107                 $this->param->depot = strtolower(trim($this->param->depot));
     124                $this->param['depot'] = strtolower(trim($this->param['depot']));
    108125                $cfg_depot = cfg_charger_classe('cfg_depot','inc');
    109                 $this->depot = new $cfg_depot($this->param->depot, $this->params);
     126                $this->depot = new $cfg_depot($this->param['depot'], $this->params);
    110127                $ok &= $this->lire();
    111128
     
    229246        function nom_config()
    230247        {
    231             return $this->param->nom .
    232                         ($this->param->casier ? '/' . $this->param->casier : '') .
    233                         ($this->param->cfg_id ? '/' . $this->param->cfg_id : '');
     248            return $this->param['nom'] .
     249                        ($this->param['casier'] ? '/' . $this->param['casier'] : '') .
     250                        ($this->param['cfg_id'] ? '/' . $this->param['cfg_id'] : '');
    234251        }
    235252
     
    270287
    271288                // pour compatibilite avec les anciennes versions (<1.4.1)
    272                 if (isset($this->param->storage))
    273                         $this->param->depot = $this->param->storage;
    274                
    275                 if ($this->param->depot == 'classic')
    276                         $this->param->depot = 'meta';
     289                if (isset($this->param['storage']))
     290                        $this->param['depot'] = $this->param['storage'];
     291               
     292                if ($this->param['depot'] == 'classic')
     293                        $this->param['depot'] = 'meta';
    277294                       
    278                 if ($this->param->depot == 'extrapack'){
    279                         $this->param->depot = 'tablepack';
    280                         $this->param->colonne = 'extra';
     295                if ($this->param['depot'] == 'extrapack'){
     296                        $this->param['depot'] = 'tablepack';
     297                        $this->param['colonne'] = 'extra';
    281298                }
    282299               
     
    399416                       
    400417                        // passer cfg_id...
    401                         if (!isset($contexte['cfg_id']) && $this->param->cfg_id) {
    402                                 $contexte['cfg_id'] = $this->param->cfg_id;
     418                        if (!isset($contexte['cfg_id']) && $this->param['cfg_id']) {
     419                                $contexte['cfg_id'] = $this->param['cfg_id'];
    403420                        }
    404421                        // passer id aussi
    405                         if (!isset($contexte['id']) && $this->param->cfg_id) {
    406                                 $contexte['id'] = $this->param->cfg_id;
     422                        if (!isset($contexte['id']) && $this->param['cfg_id']) {
     423                                $contexte['id'] = $this->param['cfg_id'];
    407424                        }
    408425                        // passer 'message_ok', 'message_erreur', 'erreurs'     
     
    435452               
    436453                include_spip('inc/autoriser');
    437                 if (!$autoriser = autoriser($this->param->autoriser)){
    438                         $this->messages['message_refus'] = $this->param->refus;
     454                if (!$autoriser = autoriser($this->param['autoriser'])){
     455                        $this->messages['message_refus'] = $this->param['refus'];
    439456                }
    440457                return $autoriser;
     
    526543        function creer_hash_cfg($action=''){
    527544                include_spip('inc/securiser_action');
    528             $arg = 'cfg0.0.0-' . $this->param->nom . '-' . $this->vue;
     545            $arg = 'cfg0.0.0-' . $this->param['nom'] . '-' . $this->vue;
    529546                return
    530547                        '?cfg=' . $this->vue .
    531                         '&cfg_id=' . $this->param->cfg_id .
     548                        '&cfg_id=' . $this->param['cfg_id'] .
    532549                    '&arg=' . $arg .
    533550                    '&hash=' .  calculer_action_auteur($action . '-' . $arg);           
     
    591608                                                // artillerie lourde on passe
    592609                                                // la valeur et la classe
    593                                                 $f($this->param->$param, $this);                                               
     610                                                $f($this->param[$param], $this);                                               
    594611                                        }
    595612                                }
     
    611628        // Lorsque des parametres sont passes dans le formulaire
    612629        // par <!-- param=valeur -->
    613         // stocker $this->param->parametre=valeur
     630        // stocker $this->param['parametre']=valeur
    614631        //
    615632        // Si <!-- param*=valeur -->
    616         // Stocker $this->param->parametre[]=valeur
     633        // Stocker $this->param['parametre'][]=valeur
    617634        //
    618635        //
     
    623640               
    624641                if (empty($regs[3])) {
    625                     $this->param->{$regs[2]} = $regs[4];
    626                 } elseif (is_array($this->param->{$regs[2]})) {
    627                     $this->param->{$regs[2]}[] = $regs[4];
     642                    $this->param[$regs[2]] = $regs[4];
     643                } elseif (is_array($this->param[$regs[2]])) {
     644                    $this->param[$regs[2]][] = $regs[4];
    628645                }
    629646                // plus besoin de garder ca
  • _plugins_/_stable_/cfg/plugin.xml

    r21157 r21231  
    1010    </auteur>
    1111    <version>
    12     1.7.6
     12    1.8.0
    1313    </version>
    1414    <etat>
     
    3737    </icon>
    3838    <chemin dir='' />
    39     <options>
    40     cfg_options.php
    41     </options>
     39    <options>cfg_options.php</options>
     40    <fonctions>cfg_fonctions.php</fonctions>
    4241
    4342    <pipeline>
Note: See TracChangeset for help on using the changeset viewer.