Öffentliche Methoden | |
| getModule ($name) | |
| Gibt Modul zurück. | |
| getModules ($namesOnly=false) | |
| Gibt alle Module zurück. | |
| getModulesActive ($namesOnly=false) | |
| Gibt aktive Module zurück. | |
| getModulesNotActive ($namesOnly=false) | |
| Gibt nicht aktive Module zurück. | |
Öffentliche, statische Methoden | |
| static | getInstance () |
| Gibt Singleton-Instanz der Modulverwaltung zurück. | |
Öffentliche Attribute | |
| const | XML_MODULE_INFO_DIR = 'modules/meta/info' |
| string, Verzeichnis mit Modulinformationen | |
Geschützte Methoden | |
| __construct () | |
| Lädt Module und Menüs aus Datenbank. | |
Geschützte Attribute | |
| $_modulesActive = array() | |
| array, Array mit aktivierten Modulen; Index ist Modulname | |
| $_modulesNotActive = array() | |
| array, Array mit nicht aktiven Modulen | |
Statische geschützte Attribute | |
| static | $_instance = null |
| Dsao_Module_Broker|null, Singleton-Instanz. | |
Der Modulmanager lädt Module und deren Navigation aus der Datenbank.
Definiert in Zeile 11 der Datei Broker.php.
| Dsao_Module_Broker::__construct | ( | ) | [protected] |
Lädt Module und Menüs aus Datenbank.
Definiert in Zeile 38 der Datei Broker.php.
00039 { 00040 $modulesLoader = new Dsao_Xml_Loader(XML_DIR.self::XML_MODULE_INFO_DIR); 00041 00042 // Module durchgehen 00043 foreach ($modulesLoader->getXmlObjects() as $object) 00044 { 00045 // Modul instanziieren 00046 $module = new Dsao_Module($object->name, (bool) $object->active); 00047 00048 // Zu internen Arrays hinzufügen 00049 if ($module->isActive()) 00050 { 00051 $this->_modulesActive[$module->getName()] = $module; 00052 } 00053 else 00054 { 00055 $this->_modulesNotActive[$module->getName()] = $module; 00056 } 00057 } 00058 }
| static Dsao_Module_Broker::getInstance | ( | ) | [static] |
Gibt Singleton-Instanz der Modulverwaltung zurück.
Definiert in Zeile 65 der Datei Broker.php.
Wird benutzt von Dsao_Module_Menu::__construct() und Dsao_Constructor_Acl::getObject().
00066 { 00067 // Falls Instanz noch nicht initialisiert 00068 if (null === self::$_instance) 00069 { 00070 $cacheLoader = new Dsao_Cache_Loader('File', 00071 array('automatic_serialization' => true, 00072 'master_files' => array(XML_DIR.self::XML_MODULE_INFO_DIR))); 00073 $cache = $cacheLoader->getCache(); 00074 00075 // Falls Modulmanager nicht im Cache vorhanden 00076 if (!(self::$_instance = $cache->load('moduleBroker'))) 00077 { 00078 self::$_instance = new self(); 00079 00080 // Alle von den Modulen abhängigen Cache-Einträge entfernen 00081 $cache->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('module')); 00082 00083 $cache->save(self::$_instance, 'moduleBroker'); 00084 } 00085 } 00086 00087 return self::$_instance; 00088 }
| Dsao_Module_Broker::getModule | ( | $ | name | ) |
Gibt Modul zurück.
| $name | string, Modulname |
Definiert in Zeile 96 der Datei Broker.php.
00097 { 00098 $name = (string) $name; 00099 00100 // Falls Modul aktives Modul 00101 if (isset($this->_modulesActive[$name])) 00102 { 00103 return $this->_modulesActive[$name]; 00104 } 00105 // Falls Modul nicht aktives Modul 00106 else if (isset($this->_modulesNotActive[$name])) 00107 { 00108 return $this->_modulesNotActive[$name]; 00109 } 00110 // Ansonsten ist Modul nicht vorhanden, Exception werfen 00111 else 00112 { 00113 throw new Dsao_Exception(array( 00114 'message' => 'dsao_module_manager_invalid_module', 00115 'variables' => array('name' => $name) 00116 )); 00117 } 00118 }
| Dsao_Module_Broker::getModules | ( | $ | namesOnly = false |
) |
Gibt alle Module zurück.
Definiert in Zeile 125 der Datei Broker.php.
00126 { 00127 return $namesOnly 00128 ? array_keys(array_merge($this->_modulesActive, $this->_modulesNotActive)) 00129 : array_merge($this->_modulesActive, $this->_modulesNotActive); 00130 }
| Dsao_Module_Broker::getModulesActive | ( | $ | namesOnly = false |
) |
Gibt aktive Module zurück.
Definiert in Zeile 137 der Datei Broker.php.
00138 { 00139 return $namesOnly ? array_keys($this->_modulesActive) 00140 : $this->_modulesActive; 00141 }
| Dsao_Module_Broker::getModulesNotActive | ( | $ | namesOnly = false |
) |
Gibt nicht aktive Module zurück.
Definiert in Zeile 148 der Datei Broker.php.
00149 { 00150 return $namesOnly ? array_keys($this->_modulesNotActive) 00151 : $this->_modulesNotActive; 00152 }
1.5.7.1