/** * Container-Klassen ermitteln */ protected function getClasses() { $containers = array_map(array($this, 'parseClassname'), glob(\fpcm\classes\baseconfig::$dashcontainerDir . '*.php')); $containers = $this->events->runEvent('dashboardContainersLoad', $containers); $additional = array(); foreach ($containers as $container) { /* @var $containerObj \fpcm\model\abstracts\dashcontainer */ $containerObj = new $container(); if (!is_a($containerObj, '\\fpcm\\model\\abstracts\\dashcontainer')) { trigger_error('Dashboard container class "' . $container . '" must be an instance of "\\fpcm\\model\\abstracts\\dashcontainer".'); continue; } if (count($containerObj->getPermissions()) && !$this->permissions->check($containerObj->getPermissions())) { continue; } $position = $containerObj->getPosition(); $this->view->setViewJsFiles($containerObj->getJavascriptFiles()); $this->view->addJsVars($containerObj->getJavascriptVars()); $containerViewVars = $containerObj->getControllerViewVars(); $viewVars = $this->view->getViewVars(); $this->view->setViewVars($viewVars + $containerViewVars); if (!$position || isset($this->containers[$position])) { $additional[] = $containerObj; } else { $this->containers[$position] = $containerObj; } } $this->containers += $additional; ksort($this->containers); }