Dsao_Module_Menu Klassenreferenz

Repräsentiert Benutzermenü. Mehr ...

Aufstellung aller Elemente

Öffentliche Methoden

 __construct ($role=null)
 Konstruktor.
 getModuleMenu ($name)
 Gibt Menü eines bestimmtes Moduls.
 toArray ()
 Gibt das Menü als Array zurück.

Öffentliche Attribute

const XML_MODULE_MENU_DIR = 'modules/meta/menu/'

Geschützte Attribute

 $_menu = array()
 array, Menüarray


Ausführliche Beschreibung

Repräsentiert Benutzermenü.

Autor:
DSAo-Md

http://www.gnu.org/licenses/gpl-3.0.html GNU Public License

Version:
SVN: $Id: Menu.php 519 2009-09-13 15:51:26Z saviola777 $

Definiert in Zeile 9 der Datei Menu.php.


Beschreibung der Konstruktoren und Destruktoren

Dsao_Module_Menu::__construct ( role = null  ) 

Konstruktor.

Parameter:
$idRole int, Rollen-ID des Benutzers
Rückgabe:
void

Definiert in Zeile 24 der Datei Menu.php.

Benutzt Dsao_Registry::get() und Dsao_Module_Broker::getInstance().

00025   {
00026     $xmlLoader = new Dsao_Xml_Loader(XML_DIR.self::XML_MODULE_MENU_DIR,
00027       Dsao_Module_Broker::getInstance()->getModulesActive(true));
00028 
00029     // Dateien durchgehen
00030     foreach ($xmlLoader->getXmlObjects() as $name => $xml)
00031     {
00032       $groups = array();
00033 
00034       // Elemente durchgehen
00035       foreach ($xml->children() as $child)
00036       {
00037         // Beschreibung
00038         $label = isset($child->label) ? (string) $child->label : null;
00039 
00040         // SimpleXML-Bug: Wandeln wir nur $chid->uri in einen Array um,
00041         // enthält dieser nur das erste Element des Arrays
00042         $childArray = (array) $child;
00043 
00044         // Gruppe erstellen und hinzufügen
00045         $groups[] = new Dsao_Module_Menu_Group($label, (array) $childArray['uri']);
00046       }
00047 
00048       $this->_menu[$name] = $groups;
00049     }
00050 
00051     // Falls ein Rollenname übergeben wurde, Menü filtern
00052     if (null != $role)
00053     {
00054       $filter = new Dsao_Filter_Acl
00055         ((string) $role, Dsao_Registry::get('acl'));
00056 
00057       $this->_menu = $filter->filter($this->_menu);
00058     }
00059 
00060     // Sortieren
00061     ksort($this->_menu);
00062   }


Dokumentation der Elementfunktionen

Dsao_Module_Menu::getModuleMenu ( name  ) 

Gibt Menü eines bestimmtes Moduls.

Parameter:
$name string, Modulname
Rückgabe:
array, Menü

Definiert in Zeile 70 der Datei Menu.php.

00071   {
00072     $name = (string) $name;
00073 
00074     // Gibt Modulmenü oder leeres Array zurück
00075     return (isset($this->_menu[$name]) ? $this->_menu[$name] : array());
00076   }

Dsao_Module_Menu::toArray (  ) 

Gibt das Menü als Array zurück.

Rückgabe:
array, Menü

Definiert in Zeile 83 der Datei Menu.php.

00084   {
00085     return $this->_menu;
00086   }


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Fri Sep 18 19:04:13 2009 für DSA online - Morgendaemmerung von  doxygen 1.5.7.1