/** * Erzeugt eine neue Kategorie und gibt ihre ID zurück * * @param string $title * @param string $module * * @return integer */ public function categoriesCreate($title, $module) { $moduleInfo = $this->modules->getModuleInfo($module); if ($this->categoryRepository->resultIsDuplicate($title, $moduleInfo['id'], '') === false) { $insertValues = ['id' => '', 'title' => $this->secureHelper->strEncode($title), 'picture' => '', 'description' => '', 'module_id' => $moduleInfo['id']]; $result = $this->categoryRepository->insert($insertValues); $this->categoriesCache->saveCache($module); return $result; } return $this->categoryRepository->getOneByTitleAndModule($title, $module)['id']; }
/** * Gibt die für die Suche verfügbaren Module zurück * * @return array */ public function getModules() { $searchModules = []; foreach ($this->availableModulesRegistrar->getAvailableModuleNames() as $module) { if ($this->acl->hasPermission('frontend/' . $module) === true) { $info = $this->modules->getModuleInfo($module); $name = $info['name']; $searchModules[$name] = ['dir' => $module, 'checked' => $this->formsHelper->selectEntry('mods', $module, $module, 'checked'), 'name' => $name]; } } ksort($searchModules); return $searchModules; }
/** * Überprüft die Modulabhängigkeiten beim Installieren eines Moduls * * @param \ACP3\Core\Modules\Installer\SchemaInterface $schema * * @return array */ public function checkInstallDependencies(Core\Modules\Installer\SchemaInterface $schema) { $dependencies = $this->getDependencies($schema->getModuleName()); $modulesToEnable = []; if (!empty($dependencies)) { foreach ($dependencies as $dependency) { if ($this->modules->isActive($dependency) === false) { $moduleInfo = $this->modules->getModuleInfo($dependency); $modulesToEnable[] = $moduleInfo['name']; } } } return $modulesToEnable; }