diff --git a/components/ILIAS/DidacticTemplate/classes/Action/class.ilDidacticTemplateAction.php b/components/ILIAS/DidacticTemplate/classes/Action/class.ilDidacticTemplateAction.php index f6c191356505..d4974fffea63 100755 --- a/components/ILIAS/DidacticTemplate/classes/Action/class.ilDidacticTemplateAction.php +++ b/components/ILIAS/DidacticTemplate/classes/Action/class.ilDidacticTemplateAction.php @@ -24,27 +24,25 @@ */ abstract class ilDidacticTemplateAction { - public const TYPE_LOCAL_POLICY = 1; - public const TYPE_LOCAL_ROLE = 2; - public const TYPE_BLOCK_ROLE = 3; + public const int TYPE_LOCAL_POLICY = 1; + public const int TYPE_LOCAL_ROLE = 2; + public const int TYPE_BLOCK_ROLE = 3; - public const FILTER_SOURCE_TITLE = 1; - public const FILTER_SOURCE_OBJ_ID = 2; - public const FILTER_PARENT_ROLES = 3; - public const FILTER_LOCAL_ROLES = 4; - - public const PATTERN_PARENT_TYPE = 'action'; + public const int FILTER_SOURCE_TITLE = 1; + public const int FILTER_SOURCE_OBJ_ID = 2; + public const int FILTER_PARENT_ROLES = 3; + public const int FILTER_LOCAL_ROLES = 4; + public const string PATTERN_PARENT_TYPE = 'action'; protected ilLogger $logger; protected ilDBInterface $db; protected ilRbacReview $review; protected ilRbacAdmin $admin; - private int $action_id = 0; - private int $tpl_id = 0; - private int $type = 0; - - private int $ref_id = 0; + protected int $action_id = 0; + protected int $tpl_id = 0; + protected int $type = 0; + protected int $ref_id = 0; public function __construct(int $action_id = 0) { diff --git a/components/ILIAS/DidacticTemplate/classes/Action/class.ilDidacticTemplateLocalPolicyAction.php b/components/ILIAS/DidacticTemplate/classes/Action/class.ilDidacticTemplateLocalPolicyAction.php index a1ace5cbac91..fd63fdd1589f 100755 --- a/components/ILIAS/DidacticTemplate/classes/Action/class.ilDidacticTemplateLocalPolicyAction.php +++ b/components/ILIAS/DidacticTemplate/classes/Action/class.ilDidacticTemplateLocalPolicyAction.php @@ -24,11 +24,11 @@ */ class ilDidacticTemplateLocalPolicyAction extends ilDidacticTemplateAction { - public const TPL_ACTION_OVERWRITE = 1; - public const TPL_ACTION_INTERSECT = 2; - public const TPL_ACTION_ADD = 3; - public const TPL_ACTION_SUBTRACT = 4; - public const TPL_ACTION_UNION = 5; + public const int TPL_ACTION_OVERWRITE = 1; + public const int TPL_ACTION_INTERSECT = 2; + public const int TPL_ACTION_ADD = 3; + public const int TPL_ACTION_SUBTRACT = 4; + public const int TPL_ACTION_UNION = 5; /** @var ilDidacticTemplateFilterPattern[] */ private array $pattern = []; diff --git a/components/ILIAS/DidacticTemplate/classes/Icon/class.ilDidacticTemplateIconHandler.php b/components/ILIAS/DidacticTemplate/classes/Icon/class.ilDidacticTemplateIconHandler.php index e9ae50bdfc7b..d3f4e208025a 100755 --- a/components/ILIAS/DidacticTemplate/classes/Icon/class.ilDidacticTemplateIconHandler.php +++ b/components/ILIAS/DidacticTemplate/classes/Icon/class.ilDidacticTemplateIconHandler.php @@ -33,8 +33,7 @@ */ class ilDidacticTemplateIconHandler { - protected const WEBDIR_PREFIX = 'ilDidacticTemplateIcons'; - + protected const string WEBDIR_PREFIX = 'ilDidacticTemplateIcons'; protected ilDidacticTemplateSetting $settings; protected ilLogger $logger; protected Filesystem $webDirectory; diff --git a/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualism.php b/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualism.php index 527d2043f285..56f2f8a3735a 100755 --- a/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualism.php +++ b/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualism.php @@ -16,6 +16,8 @@ * *********************************************************************/ +declare(strict_types=1); + /** * Class handles translation mode for an object. * @@ -301,9 +303,9 @@ public function fromXML(SimpleXMLElement $root): void foreach ($root->translation as $trans) { $this->addLanguage( - trim($trans["language"]), - trim($trans->title), - trim($trans->description), + trim((string) $trans["language"]), + trim((string) $trans->title), + trim((string) $trans->description), (int) $trans["default"] !== 0 ); } diff --git a/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismGUI.php b/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismGUI.php index 536d4cdfce32..8403bfd0da15 100755 --- a/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismGUI.php +++ b/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismGUI.php @@ -16,12 +16,14 @@ * *********************************************************************/ +declare(strict_types=1); + use ILIAS\MetaData\Services\ServicesInterface as LOMServices; /** * GUI class for object translation handling. * @author Alexander Killing - * @ilCtrl_IsCalledBy ilMultilingualismeGUI: ilDidacticTemplateSettingsGUI + * @ilCtrl_IsCalledBy ilMultilingualismGUI: ilDidacticTemplateSettingsGUI */ class ilMultilingualismGUI { @@ -52,7 +54,7 @@ public function __construct( $this->lom_services = $DIC->learningObjectMetadata(); $this->obj_trans = ilMultilingualism::getInstance($a_obj_id, $a_type); - $this->request = new \ILIAS\Multilingualism\StandardGUIRequest( + $this->request = new \ILIAS\DidacticTemplate\Multilingualism\StandardGUIRequest( $DIC->http(), $DIC->refinery() ); @@ -76,18 +78,12 @@ public function getTitleDescrOnlyMode(): bool public function executeCommand(): void { - $next_class = $this->ctrl->getNextClass($this); - - switch ($next_class) { - default: - $cmd = $this->ctrl->getCmd("listTranslations"); - if (in_array($cmd, array("listTranslations", "saveTranslations", - "addTranslation", "deleteTranslations", "activateContentMultilinguality", - "confirmRemoveLanguages", "removeLanguages", "confirmDeactivateContentMultiLang", "saveLanguages", - "saveContentTranslationActivation", "deactivateContentMultiLang", "addLanguages"))) { - $this->$cmd(); - } - break; + $cmd = $this->ctrl->getCmd("listTranslations"); + if (in_array($cmd, array("listTranslations", "saveTranslations", + "addTranslation", "deleteTranslations", "activateContentMultilinguality", + "confirmRemoveLanguages", "removeLanguages", "confirmDeactivateContentMultiLang", "saveLanguages", + "saveContentTranslationActivation", "deactivateContentMultiLang", "addLanguages"))) { + $this->$cmd(); } } @@ -391,8 +387,8 @@ public function removeLanguages(): void if (count($post_langs) > 0) { $langs = $this->obj_trans->getLanguages(); foreach ($langs as $k => $l) { - if (in_array($l, $post_langs)) { - $this->obj_trans->removeLanguage($l); + if (in_array($k, $post_langs)) { + $this->obj_trans->removeLanguage($k); } } $this->obj_trans->save(); diff --git a/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismTableGUI.php b/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismTableGUI.php index 814fc1b1fef2..de06955825eb 100755 --- a/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismTableGUI.php +++ b/components/ILIAS/DidacticTemplate/classes/Multilingualism/class.ilMultilingualismTableGUI.php @@ -16,6 +16,8 @@ * *********************************************************************/ +declare(strict_types=1); + use ILIAS\MetaData\Services\ServicesInterface as LOMServices; /** diff --git a/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateExcludeFilterPattern.php b/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateExcludeFilterPattern.php index 2c6283876be8..9852862c128c 100755 --- a/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateExcludeFilterPattern.php +++ b/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateExcludeFilterPattern.php @@ -35,11 +35,10 @@ public function __construct(int $a_pattern_id = 0) */ public function valid(string $a_source): bool { - $a_source = trim($a_source); - switch ($this->getPatternSubType()) { - case self::PATTERN_SUBTYPE_REGEX: - $this->logger->debug('Checking exclude pattern with ' . $a_source . ' against ' . $this->getPattern()); - return preg_match('/' . $this->getPattern() . '/', $a_source) !== 1; + if ($this->getPatternSubType() === self::PATTERN_SUBTYPE_REGEX) { + $a_source = trim($a_source); + $this->logger->debug('Checking exclude pattern with ' . $a_source . ' against ' . $this->getPattern()); + return preg_match('/' . $this->getPattern() . '/', $a_source) !== 1; } return true; } diff --git a/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateFilterPattern.php b/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateFilterPattern.php index 984b3392d58d..68f01defa33a 100755 --- a/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateFilterPattern.php +++ b/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateFilterPattern.php @@ -24,20 +24,15 @@ */ abstract class ilDidacticTemplateFilterPattern { - public const PATTERN_INCLUDE = 1; - public const PATTERN_EXCLUDE = 2; - - public const PATTERN_SUBTYPE_REGEX = 1; - - private int $pattern_id = 0; - - private int $parent_id = 0; - private string $parent_type = ''; - - private string $pattern = ''; - private int $pattern_type = 0; - private int $pattern_sub_type = 0; - + public const int PATTERN_INCLUDE = 1; + public const int PATTERN_EXCLUDE = 2; + public const int PATTERN_SUBTYPE_REGEX = 1; + protected string $parent_type = ''; + protected string $pattern = ''; + protected int $pattern_id = 0; + protected int $parent_id = 0; + protected int $pattern_type = 0; + protected int $pattern_sub_type = 0; protected ilDBInterface $db; protected ilLogger $logger; @@ -116,15 +111,11 @@ public function getPattern(): string /** * Check if pattern matches - * @param mixed - * @return bool */ abstract public function valid(string $a_source): bool; /** * Get xml representation of pattern - * @param ilXmlWriter $writer - * @return string */ abstract public function toXml(ilXmlWriter $writer): void; diff --git a/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateIncludeFilterPattern.php b/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateIncludeFilterPattern.php index 362a204be0ea..fabbdbd7eb58 100755 --- a/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateIncludeFilterPattern.php +++ b/components/ILIAS/DidacticTemplate/classes/Pattern/class.ilDidacticTemplateIncludeFilterPattern.php @@ -32,11 +32,10 @@ public function __construct(int $a_pattern_id = 0) public function valid(string $a_source): bool { - $a_source = trim($a_source); - switch ($this->getPatternSubType()) { - case self::PATTERN_SUBTYPE_REGEX: - $this->logger->debug('Checking include pattern with ' . $a_source . ' against ' . $this->getPattern()); - return preg_match('/' . $this->getPattern() . '/', $a_source) === 1; + if ($this->getPatternSubType() === self::PATTERN_SUBTYPE_REGEX) { + $a_source = trim($a_source); + $this->logger->debug('Checking include pattern with ' . $a_source . ' against ' . $this->getPattern()); + return preg_match('/' . $this->getPattern() . '/', $a_source) === 1; } return false; } diff --git a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSetting.php b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSetting.php index 9d642894d1a9..18710606222a 100755 --- a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSetting.php +++ b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSetting.php @@ -25,8 +25,7 @@ */ class ilDidacticTemplateSetting { - public const TYPE_CREATION = 1; - + public const int TYPE_CREATION = 1; private int $id = 0; private bool $enabled = false; private string $title = ''; @@ -474,12 +473,8 @@ protected function read(): bool public function toXml(ilXmlWriter $writer): ilXmlWriter { - $type = ''; - switch ($this->getType()) { - case self::TYPE_CREATION: - $type = 'creation'; - break; - } + $type = ($this->getType() === self::TYPE_CREATION) ? 'creation' : ''; + $writer->xmlStartTag('didacticTemplate', ['type' => $type]); $writer->xmlElement('title', [], $this->getTitle()); $writer->xmlElement('description', [], $this->getDescription()); @@ -489,8 +484,7 @@ public function toXml(ilXmlWriter $writer): ilXmlWriter // info text with p-tags if ($this->getInfo() !== '') { $writer->xmlStartTag('info'); - - $info_lines = (array) explode("\n", $this->getInfo()); + $info_lines = explode("\n", $this->getInfo()); foreach ($info_lines as $info) { $trimmed_info = trim($info); if ($trimmed_info !== '') { diff --git a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsGUI.php b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsGUI.php index c02dc74d5109..8a2c6179f9a2 100755 --- a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsGUI.php +++ b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsGUI.php @@ -503,7 +503,7 @@ protected function initEditTemplate(ilDidacticTemplateSetting $set): ilPropertyF } } $title->setInfo($this->lng->txt("language") . ": " . $language . - ' » ' . $this->lng->txt("more_translations") . ''); } } @@ -752,7 +752,7 @@ protected function setEditTabs(string $a_tab_active = "edit"): void $this->tabs->addSubTab( 'settings_trans', $this->lng->txt("obj_multilinguality"), - $this->ctrl->getLinkTargetByClass(["ilmultilingualismgui"], 'listTranslations') + $this->ctrl->getLinkTargetByClass(ilMultilingualismGUI::class, 'listTranslations') ); $this->tabs->setTabActive('edit'); $this->tabs->setSubTabActive($a_tab_active); diff --git a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsTableFilter.php b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsTableFilter.php index 6919fa608159..71b7d05a0e0b 100755 --- a/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsTableFilter.php +++ b/components/ILIAS/DidacticTemplate/classes/Setting/class.ilDidacticTemplateSettingsTableFilter.php @@ -23,18 +23,16 @@ class ilDidacticTemplateSettingsTableFilter { - protected const FILTER_ID = 'otpl_templates_table'; - - protected const FILTER_NAME_ICON = 'icon'; - protected const FILTER_NAME_TITLE = 'title'; - protected const FILTER_NAME_TYPE = 'type'; - protected const FILTER_NAME_SCOPE = 'scope'; - protected const FILTER_NAME_ACTIVE = 'active'; - - protected const FILTER_ON = 1; - protected const FILTER_OFF = 2; - protected const FILTER_GLOBAL = 1; - protected const FILTER_LOCAL = 2; + protected const string FILTER_ID = 'otpl_templates_table'; + protected const string FILTER_NAME_ICON = 'icon'; + protected const string FILTER_NAME_TITLE = 'title'; + protected const string FILTER_NAME_TYPE = 'type'; + protected const string FILTER_NAME_SCOPE = 'scope'; + protected const string FILTER_NAME_ACTIVE = 'active'; + protected const int FILTER_ON = 1; + protected const int FILTER_OFF = 2; + protected const int FILTER_GLOBAL = 1; + protected const int FILTER_LOCAL = 2; private array $input_activation_config = [ self::FILTER_NAME_ICON => false, diff --git a/components/ILIAS/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php b/components/ILIAS/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php index f030489b457a..343ebf00903f 100755 --- a/components/ILIAS/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php +++ b/components/ILIAS/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php @@ -77,16 +77,8 @@ public function executeCommand(): void { $next_class = $this->ctrl->getNextClass($this); $cmd = $this->ctrl->getCmd(); - - switch ($next_class) { - default: - if (!$cmd) { - $cmd = 'overview'; - } - $this->$cmd(); - - break; - } + $cmd = !$cmd ? 'overview' : $cmd; + $this->$cmd(); } public function appendToolbarSwitch(ilToolbarGUI $toolbar, string $a_obj_type, int $a_ref_id): bool diff --git a/components/ILIAS/DidacticTemplate/classes/class.ilDidacticTemplateImport.php b/components/ILIAS/DidacticTemplate/classes/class.ilDidacticTemplateImport.php index 5bcee0c19067..fdee5e9c2850 100755 --- a/components/ILIAS/DidacticTemplate/classes/class.ilDidacticTemplateImport.php +++ b/components/ILIAS/DidacticTemplate/classes/class.ilDidacticTemplateImport.php @@ -30,12 +30,11 @@ */ class ilDidacticTemplateImport { - protected const XML_ELEMENT_NAME_LOCAL_ROLE_ACTION = 'localRoleAction'; - protected const XML_ELEMENT_NAME_BLOCK_ROLE_ACIONE = 'blockRoleAction'; - protected const XML_ELEMENT_NAME_LOCAL_POLICY_ACTION = 'localPolicyAction'; - public const IMPORT_FILE = 1; - protected const SCHEMA_TYPE = 'otpl'; - + protected const string XML_ELEMENT_NAME_LOCAL_ROLE_ACTION = 'localRoleAction'; + protected const string XML_ELEMENT_NAME_BLOCK_ROLE_ACIONE = 'blockRoleAction'; + protected const string XML_ELEMENT_NAME_LOCAL_POLICY_ACTION = 'localPolicyAction'; + protected const string SCHEMA_TYPE = 'otpl'; + public const int IMPORT_FILE = 1; protected int $type = 0; protected string $xmlfile = ''; protected ilLogger $logger; @@ -71,13 +70,8 @@ public function getInputType(): int */ public function import(int $a_dtpl_id = 0): ilDidacticTemplateSetting { - $root = null; $use_internal_errors = libxml_use_internal_errors(true); - switch ($this->getInputType()) { - case self::IMPORT_FILE: - $root = simplexml_load_string(file_get_contents($this->getInputFile())); - break; - } + $root = ($this->getInputType() === self::IMPORT_FILE) ? simplexml_load_string(file_get_contents($this->getInputFile())) : null; libxml_use_internal_errors($use_internal_errors); if (!$root instanceof SimpleXMLElement) { throw new ilDidacticTemplateImportException( @@ -322,7 +316,6 @@ protected function parseActions(ilDidacticTemplateSetting $set, ?SimpleXMLElemen } if ($action->getName() === self::XML_ELEMENT_NAME_LOCAL_POLICY_ACTION) { $this->parseLocalPolicyAction($set, $action); - continue; } } }