Beispiel #1
0
 /**
  * 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);
 }