Exemple #1
0
 /**
  * Gibt Liste mit Modulen zurück, die in lokaler Modul-DB-Tabellen enthalten sind und nicht von Modul-Server angeboten werden
  * @return array
  */
 public function getModulesLocal()
 {
     $this->getModuleLocalFilesystem();
     $remoteModules = array_keys($this->getModulesRemote(false));
     if (count($remoteModules)) {
         $where = array_fill(0, count($remoteModules), 'modkey NOT ' . $this->dbcon->dbLike() . ' ?');
         $localModules = $this->dbcon->fetch($this->dbcon->select($this->table, '*', '(' . implode(' OR ', $where) . ')', $remoteModules), true);
     } else {
         $localModules = $this->dbcon->fetch($this->dbcon->select($this->table, '*'), true);
     }
     $modules = array();
     foreach ($localModules as $localModule) {
         if (!$localModule->modkey) {
             continue;
         }
         $mlConfig = $this->getConfigByModuleKey($localModule->modkey, 'modulelist');
         $moduleItem = new \fpcm\model\modules\listitem($localModule->modkey, isset($mlConfig['name']) ? $mlConfig['name'] : $localModule->modkey, $localModule->version, '', isset($mlConfig['description']) ? $mlConfig['description'] : '-', isset($mlConfig['author']) ? $mlConfig['author'] : '-', isset($mlConfig['link']) ? $mlConfig['link'] : '-', isset($mlConfig['sysversion']) ? $mlConfig['sysversion'] : $this->config->system_version, false);
         $moduleItem->setStatus($localModule->status);
         $moduleItem->setIsInstalled(true);
         $moduleItem->setDependenciesOk($this->checkDepencies($localModule->modkey));
         if (isset($modules[$localModule->modkey])) {
             continue;
         }
         $modules[$localModule->modkey] = $moduleItem;
     }
     return $modules;
 }