/** * Returns the default aspect, defined in the admin. * This takes permissions into account! * * @param bool $bitIgnorePermissions * * @return class_module_system_aspect null if no aspect is set up */ public static function getDefaultAspect($bitIgnorePermissions = false) { $objORM = new class_orm_objectlist(); $objORM->addWhereRestriction(new class_orm_objectlist_restriction("AND system_status = 1", array())); $objORM->addWhereRestriction(new class_orm_objectlist_restriction("AND aspect_default = 1", array())); /** @var class_module_system_aspect $objAspect */ $objAspect = $objORM->getSingleObject(get_called_class()); if ($objAspect != null && ($bitIgnorePermissions || $objAspect->rightView())) { return $objAspect; } else { $arrAspects = class_module_system_aspect::getActiveObjectList(); if (count($arrAspects) > 0) { foreach ($arrAspects as $objOneAspect) { if ($objOneAspect->rightView()) { return $objOneAspect; } } } return null; } }
/** * Renders the list of aspects available * * @param string $strLastModule * @param string $strLastAction * @param string $strLastSystemid * * @return string * @todo param handling? remove params? */ public function getAspectChooser($strLastModule, $strLastAction, $strLastSystemid) { $strTemplateID = $this->objTemplate->readTemplate("/elements.tpl", "aspect_chooser"); $strTemplateRowID = $this->objTemplate->readTemplate("/elements.tpl", "aspect_chooser_entry"); $arrTemplate = array(); $arrTemplate["options"] = ""; //process rows $strCurrentId = class_module_system_aspect::getCurrentAspectId(); $arrAspects = class_module_system_aspect::getActiveObjectList(); $intNrOfAspects = 0; foreach ($arrAspects as $objSingleAspect) { if ($objSingleAspect->rightView()) { $arrSubtemplate = array(); //start on dashboard since the current module may not be visible in another aspect $arrSubtemplate["value"] = getLinkAdminHref("dashboard", "", "&aspect=" . $objSingleAspect->getSystemid()); $arrSubtemplate["name"] = $objSingleAspect->getStrDisplayName(); $arrSubtemplate["selected"] = $strCurrentId == $objSingleAspect->getSystemid() ? "selected=\"selected\"" : ""; $arrTemplate["options"] .= $this->objTemplate->fillTemplate($arrSubtemplate, $strTemplateRowID); $intNrOfAspects++; } } if ($arrTemplate["options"] == "" || $intNrOfAspects < 2) { return ""; } return $this->objTemplate->fillTemplate($arrTemplate, $strTemplateID); }