- Ajout d'un fichier core.php s'occupant des inclusions minimum pour le lancement...
[ldapsaisie.git] / trunk / 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         $data=$data[$v];
65       }
66       return $data;
67     }
68     return;
69   }
70
71  /**
72   * Définition d'une valeur
73   * 
74   * @param[in] $var string Le nom de valeur à définir
75   * @param[in] $val mixed La valeur de la variable
76   * 
77   * @retval boolean True si tout s'est bien passé, False sinon
78   **/  
79   public static function set($var,$val) {
80     $vars=explode('.',$var);
81     if(is_array($vars)) {
82       $code='self :: $data';
83       foreach ($vars as $v) {
84         $code.='["'.$v.'"]';
85       }
86       $code.='=$val;';
87       return (eval($code)===NULL);
88     }
89     return;
90   }
91   
92 }
93   
94
95 ?>