/** * @inheritdoc */ public function isValid($data, $field = '', array $extra = []) { if (is_array($data) && array_key_exists($field, $data)) { return $this->isValid($data[$field], $field, $extra); } return $this->modules->isInstalled($data); }
/** * @param \ACP3\Core\View\Event\TemplateEvent $templateEvent */ public function onWysiwygTextareaBefore(TemplateEvent $templateEvent) { $arguments = $templateEvent->getParameters(); if ($this->modules->isActive('emoticons') && !empty($arguments['id'])) { echo $this->emoticonsHelper->emoticonsList($arguments['id']); } }
/** * @inheritdoc */ public function validate(array $formData) { $this->validator->addConstraint(Core\Validation\ValidationRules\FormTokenValidationRule::class)->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'dateformat', 'message' => $this->translator->t('system', 'select_date_format'), 'extra' => ['haystack' => ['long', 'short']]])->addConstraint(Core\Validation\ValidationRules\IntegerValidationRule::class, ['data' => $formData, 'field' => 'sidebar', 'message' => $this->translator->t('system', 'select_sidebar_entries')])->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'overlay', 'message' => $this->translator->t('gallery', 'select_use_overlay'), 'extra' => ['haystack' => [0, 1]]])->addConstraint(Core\Validation\ValidationRules\IntegerValidationRule::class, ['data' => $formData, 'field' => 'thumbwidth', 'message' => $this->translator->t('gallery', 'invalid_image_width_entered')])->addConstraint(Core\Validation\ValidationRules\IntegerValidationRule::class, ['data' => $formData, 'field' => 'width', 'message' => $this->translator->t('gallery', 'invalid_image_width_entered')])->addConstraint(Core\Validation\ValidationRules\IntegerValidationRule::class, ['data' => $formData, 'field' => 'thumbheight', 'message' => $this->translator->t('gallery', 'invalid_image_height_entered')])->addConstraint(Core\Validation\ValidationRules\IntegerValidationRule::class, ['data' => $formData, 'field' => 'height', 'message' => $this->translator->t('gallery', 'invalid_image_height_entered')]); if ($this->modules->isActive('comments') === true) { $this->validator->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'comments', 'message' => $this->translator->t('gallery', 'select_allow_comments'), 'extra' => ['haystack' => [0, 1]]]); } $this->validator->validate(); }
/** * @inheritdoc */ public function validate(array $formData) { $this->validator->addConstraint(Core\Validation\ValidationRules\FormTokenValidationRule::class)->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'dateformat', 'message' => $this->translator->t('system', 'select_date_format'), 'extra' => ['haystack' => ['long', 'short']]])->addConstraint(Core\Validation\ValidationRules\IntegerValidationRule::class, ['data' => $formData, 'field' => 'sidebar', 'message' => $this->translator->t('system', 'select_sidebar_entries')])->addConstraint(Core\Validation\ValidationRules\NumberGreaterThanValidationRule::class, ['data' => $formData, 'field' => 'readmore_chars', 'message' => $this->translator->t('news', 'type_in_readmore_chars'), 'extra' => ['value' => 0]])->addConstraint(Core\Validation\ValidationRules\NumberGreaterThanValidationRule::class, ['data' => $formData, 'field' => 'readmore', 'message' => $this->translator->t('news', 'select_activate_readmore'), 'extra' => ['haystack' => [0, 1]]])->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'category_in_breadcrumb', 'message' => $this->translator->t('news', 'select_display_category_in_breadcrumb'), 'extra' => ['haystack' => [0, 1]]]); if ($this->modules->isActive('comments') === true) { $this->validator->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'comments', 'message' => $this->translator->t('news', 'select_allow_comments'), 'extra' => ['haystack' => [0, 1]]]); } $this->validator->validate(); }
/** * @inheritdoc */ public function validate(array $formData) { $this->validator->addConstraint(Core\Validation\ValidationRules\FormTokenValidationRule::class)->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'dateformat', 'message' => $this->translator->t('system', 'select_date_format'), 'extra' => ['haystack' => ['long', 'short']]]); if ($this->modules->isActive('emoticons')) { $this->validator->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'emoticons', 'message' => $this->translator->t('comments', 'select_emoticons'), 'extra' => ['haystack' => [0, 1]]]); } $this->validator->validate(); }
/** * 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']; }
public function invalidatePageCache() { if ($this->canUsePageCache->canUsePageCache()) { if ($this->settings->getSettings(Schema::MODULE_NAME)['page_cache_purge_mode'] == 1) { Purge::doPurge($this->applicationPath->getCacheDir() . 'http'); } else { $systemModuleId = $this->modules->getModuleId(Schema::MODULE_NAME); $this->settingsRepository->update(['value' => false], ['module_id' => $systemModuleId, 'name' => 'page_cache_is_valid']); } } }
/** * 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; }
/** * @inheritdoc */ public function validate(array $formData) { $this->validator->addConstraint(Core\Validation\ValidationRules\FormTokenValidationRule::class)->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'dateformat', 'message' => $this->translator->t('system', 'select_date_format'), 'extra' => ['haystack' => ['long', 'short']]])->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'notify', 'message' => $this->translator->t('guestbook', 'select_notification_type'), 'extra' => ['haystack' => [0, 1, 2]]])->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'overlay', 'message' => $this->translator->t('guestbook', 'select_use_overlay'), 'extra' => ['haystack' => [0, 1]]]); if ($formData['notify'] != 0) { $this->validator->addConstraint(Core\Validation\ValidationRules\EmailValidationRule::class, ['data' => $formData, 'field' => 'notify_email', 'message' => $this->translator->t('system', 'wrong_email_format')]); } if ($this->modules->isActive('emoticons') === true) { $this->validator->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'emoticons', 'message' => $this->translator->t('guestbook', 'select_emoticons'), 'extra' => ['haystack' => [0, 1]]]); } if ($this->modules->isActive('newsletter') === true) { $this->validator->addConstraint(Core\Validation\ValidationRules\InArrayValidationRule::class, ['data' => $formData, 'field' => 'newsletter_integration', 'message' => $this->translator->t('guestbook', 'select_newsletter_integration'), 'extra' => ['haystack' => [0, 1]]]); } $this->validator->validate(); }
/** * @param ModelSaveEvent $event */ public function execute(ModelSaveEvent $event) { if (!$event->isDeleteStatement()) { return; } foreach ($event->getEntryId() as $item) { if ($this->commentsHelpers) { $this->commentsHelpers->deleteCommentsByModuleAndResult($this->modules->getModuleId(Schema::MODULE_NAME), $item); } $this->cache->getCacheDriver()->delete(Cache::CACHE_ID . $item); if ($this->uriAliasManager) { $this->uriAliasManager->deleteUriAlias(sprintf(Helpers::URL_KEY_PATTERN, $item)); } } }
/** * @param string $mode * @param string $moduleName * @param string $uri * @param int $articleId * * @return bool */ protected function isValidLink($mode, $moduleName, $uri, $articleId) { switch ($mode) { case 1: return $this->modules->isActive($moduleName); case 2: return $this->internalUriValidationRule->isValid($uri); case 3: return !empty($uri); case 4: if ($this->modules->isActive('articles')) { return $this->articleExistsValidationRule->isValid($articleId); } } return false; }
/** * Überpüft, ob eine Modulaktion existiert und der Benutzer darauf Zugriff hat * * @param string $resource * * @return boolean */ public function hasPermission($resource) { if (!empty($resource) && $this->modules->controllerActionExists($resource) === true) { $resourceParts = explode('/', $resource); if ($this->modules->isActive($resourceParts[1]) === true) { return $this->canAccessResource($resource); } } return false; }
private function configureFullToolbar() { $this->config['extraPlugins'] = 'codemirror,divarea,lineutils,oembed,widget'; if ($this->filemanagerHelpers instanceof \ACP3\Modules\ACP3\Filemanager\Helpers) { $this->applyFileManagerPaths(); } // Toolbar configuration $this->config['toolbarGroups'] = [['name' => 'document', 'groups' => ['mode', 'document', 'doctools']], ['name' => 'clipboard', 'groups' => ['clipboard', 'undo']], ['name' => 'editing', 'groups' => ['find', 'selection', 'spellchecker']], ['name' => 'forms'], '/', ['name' => 'basicstyles', 'groups' => ['basicstyles', 'cleanup']], ['name' => 'paragraph', 'groups' => ['list', 'indent', 'blocks', 'align', 'bidi']], ['name' => 'links'], ['name' => 'insert'], '/', ['name' => 'styles'], ['name' => 'colors'], ['name' => 'tools'], ['name' => 'others'], ['name' => 'about']]; // Include emoticons, if available if ($this->modules->isActive('emoticons') === true) { $this->applyEmoticons(); } }
/** * Führt die Updateanweisungen eines Moduls aus * * @param ContainerInterface $container * @param string $module * @return int */ public function updateModule(ContainerInterface $container, $module) { $result = false; $serviceIdSchema = $module . '.installer.schema'; $serviceIdMigration = $module . '.installer.migration'; if ($container->has($serviceIdSchema) === true && $container->has($serviceIdMigration) === true) { /** @var SchemaInterface $moduleSchema */ $moduleSchema = $container->get($serviceIdSchema); /** @var MigrationInterface $moduleMigration */ $moduleMigration = $container->get($serviceIdMigration); if ($this->modules->isInstalled($module) || count($moduleMigration->renameModule()) > 0) { $result = $this->schemaUpdater->updateSchema($moduleSchema, $moduleMigration); } } return $result; }
/** * @param ModelSaveEvent $event */ public function execute(ModelSaveEvent $event) { if (!$event->isDeleteStatement()) { return; } $upload = new Upload($this->applicationPath, Schema::MODULE_NAME); foreach ($event->getEntryId() as $item) { $upload->removeUploadedFile($this->filesRepository->getFileById($item)); if ($this->commentsHelpers) { $this->commentsHelpers->deleteCommentsByModuleAndResult($this->modules->getModuleId(Schema::MODULE_NAME), $item); } $this->cache->getCacheDriver()->delete(Cache::CACHE_ID . $item); if ($this->uriAliasManager) { $this->uriAliasManager->deleteUriAlias(sprintf(Helpers::URL_KEY_PATTERN, $item)); } } }
/** * @param string $moduleToBeUninstalled * @param \Symfony\Component\DependencyInjection\ContainerInterface $container * * @return array */ public function checkUninstallDependencies($moduleToBeUninstalled, ContainerInterface $container) { $modules = $this->modules->getInstalledModules(); $moduleDependencies = []; foreach ($modules as $module) { $moduleName = strtolower($module['dir']); if ($moduleName !== $moduleToBeUninstalled) { $serviceId = $moduleName . '.installer.schema'; if ($container->has($serviceId) === true) { $dependencies = $this->getDependencies($moduleName); if (in_array($moduleToBeUninstalled, $dependencies) === true) { $moduleDependencies[] = $module['name']; } } } } return $moduleDependencies; }
/** * Zählt die Anzahl der Kommentare für einen bestimmten Eintrag eines Modules zusammen * * @param string $moduleName * @param integer $resultId * * @return integer */ public function commentsCount($moduleName, $resultId) { return $this->commentRepository->countAllByModule($this->modules->getModuleId($moduleName), $resultId); }