LSconfig :: get() : Fixed notice PHP
[ldapsaisie.git] / public_html / includes / class / class.LSconfig.php
1 <?php
2 /*******************************************************************************
3  * Copyright (C) 2007 Easter-eggs
4  * http://ldapsaisie.labs.libre-entreprise.org
5  *
6  * Author: See AUTHORS file in top-level directory.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License version 2
10  * as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
21 ******************************************************************************/
22
23 /**
24  * Object LSconfig
25  *
26  * @author Benjamin Renard <brenard@easter-eggs.com>
27  */
28 class LSconfig { 
29   
30   // Configuration Data
31   private static $data=array();
32   
33  /**
34   * Lancement de LSconfig
35   * 
36   * Chargement initiale des données de configuration à partir des fichiers en
37   * config.*.php du dossier LS_CONF_DIR
38   * 
39   * @retval boolean True si tout s'est bien passé, False sinon
40   **/
41   public static function start() {
42     if (loadDir(LS_CONF_DIR, '^config\..*\.php$')) {
43       if (is_array($GLOBALS['LSconfig'])) {
44         self :: $data = $GLOBALS['LSconfig'];
45         self :: $data['LSaddons'] = $GLOBALS['LSaddons'];
46         return true;
47       }
48     }
49     return;
50   }
51   
52  /**
53   * Récupération d'une valeur
54   * 
55   * @param[in] $var string Le nom de valeur à récupérer (Exemple : cacheSearch)
56   * 
57   * @retval mixed La valeur de la variable, ou false si son nom n'est parsable
58   **/
59   public static function get($var) {
60     $vars=explode('.',$var);
61     if(is_array($vars)) {
62       $data=self :: $data;
63       foreach ($vars as $v) {
64         if (!isset($data[$v])) return;
65         $data=$data[$v];
66       }
67       return $data;
68     }
69     return;
70   }
71
72  /**
73   * Définition d'une valeur
74   * 
75   * @param[in] $var string Le nom de valeur à définir
76   * @param[in] $val mixed La valeur de la variable
77   * 
78   * @retval boolean True si tout s'est bien passé, False sinon
79   **/  
80   public static function set($var,$val) {
81     $vars=explode('.',$var);
82     if(is_array($vars)) {
83       $code='self :: $data';
84       foreach ($vars as $v) {
85         $code.='["'.$v.'"]';
86       }
87       $code.='=$val;';
88       return (eval($code)===NULL);
89     }
90     return;
91   }
92   
93 }
94   
95
96 ?>