Setup Tests - reset Admin_Config
[tine20] / tine20 / Admin / Config.php
1 <?php
2 /**
3  * @package     Admin
4  * @subpackage  Config
5  * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
6  * @author      Philipp Schüle <p.schuele@metaways.de>
7  * @copyright   Copyright (c) 2012 Metaways Infosystems GmbH (http://www.metaways.de)
8  */
9
10 /**
11  * Admin config class
12  * 
13  * @package     Admin
14  * @subpackage  Config
15  * 
16  * @todo add config settings here
17  */
18 class Admin_Config extends Tinebase_Config_Abstract
19 {
20     /**
21      * Default IMAP user settings
22      * 
23      * @var string
24      */
25     const DEFAULT_IMAP_USER_SETTINGS = 'defaultImapUserSettings';
26     
27     /**
28      * (non-PHPdoc)
29      * @see tine20/Tinebase/Config/Definition::$_properties
30      */
31     protected static $_properties = array(
32         self::DEFAULT_IMAP_USER_SETTINGS => array(
33                                    //_('Default IMAP user settings')
34             'label'                 => 'Default IMAP user settings',
35                                    //_('Default IMAP user settings')
36             'description'           => 'Default IMAP user settings',
37             'type'                  => 'object',
38             'class'                 => 'Tinebase_Config_Struct',
39             'clientRegistryInclude' => TRUE,
40             'setByAdminModule'      => TRUE,
41             'setBySetupModule'      => FALSE,
42         ),
43     );
44     
45     /**
46      * (non-PHPdoc)
47      * @see tine20/Tinebase/Config/Abstract::$_appName
48      */
49     protected $_appName = 'Admin';
50     
51     /**
52      * holds the instance of the singleton
53      *
54      * @var Tinebase_Config
55      */
56     private static $_instance = NULL;
57     
58     /**
59      * the constructor
60      *
61      * don't use the constructor. use the singleton 
62      */
63     private function __construct() {}
64     
65     /**
66      * the constructor
67      *
68      * don't use the constructor. use the singleton 
69      */
70     private function __clone() {}
71     
72     /**
73      * Returns instance of Tinebase_Config
74      *
75      * @return Tinebase_Config
76      */
77     public static function getInstance() 
78     {
79         if (self::$_instance === NULL) {
80             self::$_instance = new self();
81         }
82         
83         return self::$_instance;
84     }
85
86     public static function unsetInstance()
87     {
88         self::$_instance = null;
89     }
90     
91     /**
92      * (non-PHPdoc)
93      * @see tine20/Tinebase/Config/Abstract::getProperties()
94      */
95     public static function getProperties()
96     {
97         return self::$_properties;
98     }
99 }