e551617e1c55f0691ca79001e74abe6334ec897a
[tine20] / tine20 / Tool / Application / templates / Config.php
1 <?php
2 /**
3  * @package     ExampleApplication
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) 2011 Metaways Infosystems GmbH (http://www.metaways.de)
8  */
9
10 /**
11  * ExampleApplication config class
12  * 
13  * @package     ExampleApplication
14  * @subpackage  Config
15  */
16 class ExampleApplication_Config extends Tinebase_Config_Abstract
17 {
18     /**
19      * ExampleApplication Status
20      * 
21      * @var string
22      */
23     const EXAMPLE_STATUS = 'exampleStatus';
24     
25     /**
26      * (non-PHPdoc)
27      * @see tine20/Tinebase/Config/Definition::$_properties
28      */
29     protected static $_properties = array(
30         self::EXAMPLE_STATUS => array(
31                                    //_('Status Available')
32             'label'                 => 'Status Available',
33                                    //_('Possible status. Please note that additional status might impact other ExampleApplication systems on export or syncronisation.')
34             'description'           => 'Possible status. Please note that additional status might impact other ExampleApplication systems on export or syncronisation.',
35             'type'                  => 'keyFieldConfig',
36             'options'               => array('recordModel' => 'ExampleApplication_Model_Status'),
37             'clientRegistryInclude' => TRUE,
38             'default'               => 'IN-PROCESS'
39         ),
40     );
41     
42     /**
43      * (non-PHPdoc)
44      * @see tine20/Tinebase/Config/Abstract::$_appName
45      */
46     protected $_appName = 'ExampleApplication';
47     
48     /**
49      * holds the instance of the singleton
50      *
51      * @var Tinebase_Config
52      */
53     private static $_instance = NULL;
54     
55     /**
56      * the constructor
57      *
58      * don't use the constructor. use the singleton 
59      */    
60     private function __construct() {}
61     
62     /**
63      * the constructor
64      *
65      * don't use the constructor. use the singleton 
66      */    
67     private function __clone() {}
68     
69     /**
70      * Returns instance of Tinebase_Config
71      *
72      * @return Tinebase_Config
73      */
74     public static function getInstance() 
75     {
76         if (self::$_instance === NULL) {
77             self::$_instance = new self();
78         }
79         
80         return self::$_instance;
81     }
82     
83     /**
84      * (non-PHPdoc)
85      * @see tine20/Tinebase/Config/Abstract::getProperties()
86      */
87     public static function getProperties()
88     {
89         return self::$_properties;
90     }
91 }